Java常用模式小结

摘抄自:《设计模式 Java手册》


接口型模式

适配器模式 旨在利用现有的类所提供的服务,修改其接口,从而达到用户期望。

外观模式 旨在为子系统提供一个接口,使之更加容易被使用。

组合模式 旨在让用户能够用统一的接口处理单个对象以及对象组合。

桥接模式 旨在将抽象(依赖抽象操作的类)与抽象操作的实现相分离,从而使抽象与实现能够独立变化。


责任型模式

单体模式 旨在确保某个类只有一个实例,并为之提供一个全局访问点。

观察者模式 旨在在多个对象之间定义一个一对多的依赖关系,以便当一个对象状态改变的时候,其它所有依赖于这个对象的对象能够得到通知,并被自动更新。

中介者模式 旨在定义一个对象来封装一组对象之间的交互方式,这样就避免了对象间的显式引用,而且还可以单独对这些对象的交互进行修改。

代理模式 旨在为某个对象提供一个代理来控制对该对象的访问。

责任链模式 旨在将一个方法调用请求沿着责任链依次转发给下一个对象,让每个对象都有一次机会决定自己是否处理该请求,从而降低了请求的发送者与其接收者之间的 耦合程度。

享元模式 旨在通过共享来为大量的细粒度对象提供有效的支持。


构造型模式

生成器模式 旨在把构造对象实例的代码逻辑移到类的外部。

工厂方法模式 旨在定义一个用于创建对象的接口,同时控制对哪个类进行实例化。

抽象工厂模式 旨在创建一系列相互关联或相互依赖的对象。

原型模式 旨在拷贝一个现有对象生成新的对象。

备忘录模式 旨在为对象提供状态存储和状态恢复功能。


操作型模式

模板方法模式 旨在在一个方法中实现一个算法,并将算法中某些步骤的定义推迟,从而使其它类可以重新定义这些步骤。

状态模式 旨在将与状态相关的处理逻辑分散到代表对象状态的各个类中。

策略模式 旨在把可选的策略或方案封装在不同的类中,并在这些类中实现一个共同的操作。

命令模式 旨在将请求封装为一个对象,并将该请求对象作为参数;用户可以提供不同的请求对象,如入队请求,时间请求或者日记请求,也可以请求伴随操作,如undo()操作。

解释器模式 旨在使用户可以根据自己定义的组合规则生成可执行的对象。


扩展型模式

装饰器模式 旨在使开发者能够动态地组织对象的行为。

迭代模式 旨在为开发人员提供一种顺序访问集合元素的方法。

访问者模式 旨在让代码用户能够在不修改现有类层次结构的前提下扩展该类层次结构的行为。

你可能感兴趣的:(java)