
设计模式
文章平均质量分 69
yeshaoting
这个作者很懒,什么都没留下…
展开
-
策略(Strategy)模式
第一章 策略(Strategy)模式 1. 为了"复用"(reuse)目的而使用继承,结局并不一定完美.它可能导致 "所有的" 子类都具备超类中定义的变量或方法,即使那些不具备这些属性或操作的子类也无法免除.以后每在父类中为大多子类增加功能时,还得额外处理个别子类,修改他们的类体.这不仅造成了系统不易扩展,还致使系统类间耦合度增加. 2.由于在接口中只是做下定义,声明,并没有对代码进行...原创 2010-12-03 14:47:40 · 107 阅读 · 0 评论 -
观察者(Observer)模式
第二章 观察者(Observer)模式 1.观察者: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新. 2.设计原则四: 为了交互对象之间的松耦合设计而努力. 松耦合的设计之所以能让我们建立有弹性的OO系统,是因为对象之间的互相依赖降到了最低. 3.java.util.Observerable实现了它的notifyObserve...原创 2010-12-03 14:50:57 · 92 阅读 · 0 评论 -
装饰者(Decorator)模式
第三章 装饰者(Decorator)模式 1.组合(Composite)和委托(delegation)可以在运行时具有继承行为的效果. 组合: 在类中引用另一个类,将其对象作为当前类的一个变量(类变量). 委托: 使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用该引用方法的代码,而不必在编译时知道将调用哪个方法。 2.利用继承设计子类的行为,是在编译时静态决...原创 2010-12-03 14:51:52 · 97 阅读 · 0 评论 -
工厂(Factory)模式
第四章 工厂(Factory)模式 1.除了使用new操作符之外,还有更多制造对象的方法.实例化这个活动不应该总是公开地进行,并且初始化经常造成"耦合"问题. 2.针对接口编程,而不是针对实现编程.但是,每当我们有new实例化一个类的时候,用的是实现,而不是接口.这就使得代码绑定具体类,导致代码更加脆弱,更缺乏弹性. 3.(封装变化)找出会变化的部分,将他们抽出来,与不会变化部分...原创 2010-12-03 14:52:56 · 97 阅读 · 0 评论 -
单件(Singleton)模式
第五章 单件(Singleton)模式 1.单件模式用来创建独一无二的,只能有一个实例的对象. 2.有一些对象其实我们只需要一个,甚至只能有一个实例.eg: 线程池,缓存,对话框,注册表对象,日志对象,充当打印机,显卡等设备的驱动程序的对象.如果制造出多个实例,就会导致许多问题产生.eg: 程序行为异常,资源使用过量,或者是不一致的结果. 3.单件模式给我们一个全局的访问点,和全局变...原创 2010-12-03 14:56:14 · 170 阅读 · 0 评论