
HeadFirst设计模式学习笔记
wudongfei1
这个作者很懒,什么都没留下…
展开
-
设计模式之观察者(Observer)模式
出版者+订阅者=观察者模式观察者模式就像报纸订阅一样,出版者称为“主题”(subject)。订阅者称为“观察者”(observe)。观察者订阅主题,当主题内的数据改变时就会通知观察者,观察者就会收到更新。观察者模式定义了对象之间的一对多依赖,这样当一个对象改变状态时,他的依赖者都会收到通知和自动更新观察者模式类图:观察者模式案例:下面我们要实现一个小型的气象原创 2013-04-06 19:23:30 · 654 阅读 · 0 评论 -
设计原则
原则一:封装变化。找出应用中需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起原则二:针对接口编程,而不是针对实现编程针对实现编程做法:dog为Animal的具体实现Dog dog=new Dog();dog.bark();针对接口编程(也就是针对父类编程)做法:Animal aminal=new Dog();animal.makeSo原创 2013-04-06 10:21:49 · 560 阅读 · 0 评论 -
设计模式之装饰者模式
装饰者模式 动态的将责任附加到对象上面。若要扩展功能,装饰者提供了比继承更有弹性的替代方案1.装饰者与被装饰者对象有相同的父类2.你可以用一个或者多个装饰者包装一个对象3.因为装饰者与被装饰者具有相同的父类,所以在任何需要被包装对象的场合,都可以用装饰者代替4.对象可以在任何时候被装饰,所以可以在运行时动态地,不限量地用你喜欢的装饰者来装饰对象装饰者模式类图原创 2013-04-10 20:26:45 · 608 阅读 · 0 评论 -
设计模式之单例模式
单例模式:确保一个类只有一个实例,并提供一个全局访问点有时候我们需要一个类只能有一个实例,例如线程池,注册表的对象,日志对象。事实上,这些对象只能有一个实例,如果制造出多个实例就会导致许多问题。例如:程序的异常,资源使用过量或者结果不一致。下面我们就实现一个只能产生一个对象的类。package com.wdf.singleton;public class Singleton {原创 2013-04-18 21:18:59 · 703 阅读 · 0 评论 -
设计模式之命令模式
命令模式:将一个请求封装成一个对象,使得你用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能命令模式类图命令模式五个角色● 客户端(Client)角色:创建一个具体命令(ConcreteCommand)对象并确定其接收者。● 命令(Command)角色:声明了一个给所有具体命令类的抽象接口。● 具体命令(Concr原创 2013-04-19 17:27:40 · 821 阅读 · 2 评论