工厂方法模式 工厂方法模式的实质是“定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类。工厂方法让类的实例化推迟到子类中进行。 工厂方法模式 VS 简单工厂模式 简单工厂的模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择动态的实例化相关的类。对于客户端来说,去除了与具体产 ...
分类:
其他好文 时间:
2018-01-01 18:23:19
阅读次数:
119
代理模式 代理者是指一个类别可以作为其它东西的接口。代理者可以作任何东西的接口:网络连接、内存中的大对象、文件或其它昂贵或无法复制的资源。 "维基百科 代理模式" 代理模式实现远程图片加载 IImage image = new ProxyImage("HiRes_Image"); for (int ...
分类:
其他好文 时间:
2018-01-01 18:22:01
阅读次数:
143
介绍 代理模式的应用 参考自书籍《大话设计模式》 入门案例: 代码: Home: XiaoMing: MaMa: 测试: ...
分类:
其他好文 时间:
2018-01-01 11:41:58
阅读次数:
102
背景故事: 老板回来,我不知道! 概念: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两个别名,依赖(Dependents),发布-订阅(Publish-Subsrcibe)。 大话设计模式中程杰老师对观察者模式的定义是,观察者模式: ...
分类:
其他好文 时间:
2017-12-28 23:31:46
阅读次数:
174
开闭原则 在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”[1],这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查,单元测试以及诸如此类的用以确保 ...
分类:
其他好文 时间:
2017-12-26 16:08:54
阅读次数:
212
笔者很少用到享元模式,在笔者看来,享元模式解决内存问题用的应该会比较多,java中我们常用的String就是利用享元模式的思想来解决内存问题的 先看下类图 大话设计模式-类图 在看下笔者的demo 输出结果为 享元模式笔者使用的比较少,可能理解的不够深入。希望demo能够帮助读者。 ...
分类:
编程语言 时间:
2017-12-22 16:37:41
阅读次数:
147
命令模式,笔者一直以为当我们开发的过程中基本上很难用到,直到维护阶段或者重构阶段,我们会发现有些撤销命令和追加命令比较频繁时,自然而然就用到命令模式。 先看下类图 大话设计模式-类图 简单说下类图,最开始笔者看大话设计模式的时候也不是很喜欢看类图,主要原因是看不懂,后来当笔者第一次看完设计模式后,才 ...
分类:
编程语言 时间:
2017-12-19 19:31:11
阅读次数:
186
桥接模式定义为:将抽象部分与它的实现部分分离,使它们都可以独立的变化。 第一次看设计模式的时候,不是很清楚这句话的意思,随着笔者的不断开发,发现有一种场景, 继承关系多了,不易于维护父类,而笔者认为桥接模式的出现很好的解决了这个问题。用聚合解决继承的父类难维护性。先看下桥接模式设计图。 大话设计模式 ...
分类:
编程语言 时间:
2017-12-19 01:24:43
阅读次数:
156
解释器模式(Interpreter Pattern):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 下面是一个解释器模式的demo: 上面类的设计如下图: 当有一个语言需要执行,并且可以将该语言的句子表示为抽象语法树时,可使用解释器模式 作者:An ...
分类:
编程语言 时间:
2017-12-12 21:33:09
阅读次数:
151
备忘录模式,给笔者的感觉,我们在实际开发中很少用到,至少笔者是没用到过。一般在游戏后台开发应该会经常用到吧!当然这只是 笔者的推断。先看下类图 大话设计模式-类图 再继续看下Demo吧 运行结果 简单看下记忆类和负责保存记忆的类,其实就是几个属性,然后还有set,get方法,并不复杂,主要的逻辑还是 ...
分类:
编程语言 时间:
2017-12-12 13:44:34
阅读次数:
135