读书人

设计形式 笔记(附带代码)

发布时间: 2012-10-26 10:30:58 作者: rapoo

设计模式 笔记(附带代码)
设计模式
1.策略模式
例如:动物有很多行为,把共同的行为用抽象类写出,并继承。不同的行为用一组接口和实现类来封装,
让他们之间可以互相替换,把接口的对象封装在抽象类中,提供set方法以便动态改变。这样可以被轻易地扩
充与改变。如果需要,甚至在运行时也可以改变行为。
2.观察者模式
定义了对象之间的一对多关系,主题用一个共同的借口来更新观察者,当一方有数据更新时候可以通知
多方的对象,包括通用的java.util包中的Observable,Observer
3.装饰者模式
在设计中,允许行为可以被扩展,而无须修改现有代码,通过组合和委托可用于在运行时动态地加上新
的行为,装饰者类反映出被装饰的组件类型(事实上,他们具有相同的类型,都经过接口或继承实现,有共
同的基类),装饰者的构造函数内有被装饰者基类的对象引用,装饰者可以再被装饰者的行为前后加上自己
的行为,包括java.io包中的被装饰者类:InputStream,装饰者类:FiterInputStream。
4.工厂模式
工厂是用来封装对象的创建,工厂方法使用继承:把对象的创建委托给子类,子类实现工厂方法来创建对象。所有工厂模式都通过减少应用程序和具体类之间的依赖促进松耦合。
5.单态模式
单态模式确保程序中一个类最多只有一个实例,并提供访问这个实例的全局点。
6.迭代器模式
迭代器提供了一个通用的接口,让我们遍历聚合的项,当我们编码使用聚合的项时,就可以使用多态机制。
7.代理模式
代理模式为另一个对象提供代表,以便控制客户对对象的访问,动态创建并实例化对象的代理类。
8.责任链模式
责任链模式类似于servlet过滤器。
9.适配器模式
适配器模式与装饰者模式很类似,区别在于适配器改变接口以符合客户的期望。
以下附件是对应以上几个模式的实例。

读书人网 >软件开发

热点推荐