一、概述 与简单工厂模式相比,工厂模式使一个类的实例化延迟到了其子类处理,改善了简单工厂对修改不能关闭的问题。 这里我们要关注的是代码的变化:与简单工厂模式相比,与产品类相关的类保持不变,但与工厂类相关的类会有变化。 所以这里有关产品的类的实现完全照搬了简单工厂的代码。我们只要关注工厂类的变化,就可...
分类:
其他好文 时间:
2014-06-27 00:18:36
阅读次数:
313
一、概述###抽象工厂模式,以一个鞋业代理工厂为例(可代理生产Nike,Adidas的鞋子)ConcreteFactory1, ConcreteFactory2 这里对实例工厂的分类,每一个实例工厂对应一可以看做是生产同一系列(品种)下的产品, 举例:前者代表Nike鞋工厂类,后者代...
分类:
其他好文 时间:
2014-06-27 00:05:37
阅读次数:
250
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。事实上原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:假设对每个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的全部程序 P 在全部的对....
分类:
其他好文 时间:
2014-06-25 16:31:42
阅读次数:
216
设计模式基础:类及类关系的UML表示2009-10-26 17:00 by 宗哥,1891阅读,1评论,收藏,编辑UML中,类关系分为这几种,泛化(generalization), 实现(realization),依赖(Dependency),关联(associate),聚合(aggregation...
分类:
其他好文 时间:
2014-06-25 15:04:09
阅读次数:
269
设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的...
分类:
编程语言 时间:
2014-06-25 14:52:26
阅读次数:
253
第零章:介绍 看到这个游戏了,感觉蛮好玩的,实现了一下。 界面如下: 游戏玩法:在3×*3的矩阵中,每个按钮都可以点击,如果按钮四周有一个是空白,则点击此按钮则会移动到这个空白。按钮字母顺序变成“ABCD……”这样有序就赢了,最后空格可以出现在任何地方。第一章:构思 设计模式基本上没接触过,...
分类:
编程语言 时间:
2014-06-25 13:47:10
阅读次数:
367
一、简介单例模式主要用的作用是用于保证程序运行中某个类只有一个实例,并提供一个全局入口点。单例模式(Singleton)为GOF阐述的标准24种设计模式中最简单的一个。但随着时间推移,GOF所阐述的单例实现已不能完全满足实际应用。"ensure a class has only one instan...
分类:
其他好文 时间:
2014-06-25 13:20:34
阅读次数:
193
设计模式被分成了三种类型,这次来说一下创建型中的工厂家族(简单工厂方法,工厂方法模式,抽象工厂)。通过了解,三者之间的比較来加深对工厂家族的了解。简单工厂: 工厂类中有必要的逻辑推断,依据client的选择能够动态的实例化相关类.去除了与详细产品的依赖。 例: 在上述计算器的样例...
分类:
其他好文 时间:
2014-06-25 12:58:22
阅读次数:
171
该文代码来自设计模式之惮一书。观察者模式定义: 观察者模式也叫做发布订阅模式。观察者模式中的角色: 1、被观察者 被观察者职责为管理观察者并通知观察者。 2、观察者 对接受到的消息进行处理。/// /// 被观察者 /// public abstract cl...
分类:
其他好文 时间:
2014-06-25 11:20:41
阅读次数:
317
建造者模式(Builder Pattern)
一听这个名字,你可能就会猜到一二分了。建造者简单理解就是造东西,只不过建造者模式建造的不是一个简单的东西,是一个比较复杂的东西。就好像盖房子,需要打地基、砌墙、灌水泥、封顶,最后墙面贴瓷砖。
建造者设计模式是一个构造复杂对象的设计模式。在一个软件系统中,可能会面临创建一个复杂对象的工作,如果我们使用单一的方法或者单一的对象来创建会比...
分类:
其他好文 时间:
2014-06-25 08:05:09
阅读次数:
208