摘要:
当想为一个对象的组合增加新的能力,并且封装并不重要时。 一个对象结构包含多个对象,希望对这些对象实施一些依赖其具体类型的操作,在访问者中针对每一个具体的类型都提供一个访问操作,不同类型的对象可以有不同的访问操作;或者需要对一个对象结构中的对象进行很多不同的且不相关的操作时,要避免让这些操作“污染”这 阅读全文
摘要:
建造者模式是对象的创建模式,可以将一个对象的内部表现和生成过程分割开来,从而使一个建造过程具有生成不同内部表现的对象的功能。 适用场景:RPG中游戏角色、视频播放软件 比如进入RPG游戏创建角色,先创建角色的模型、再创建角色的职业、再创建角色的性别等 输出: 阅读全文
摘要:
当有多个对象可以处理同一请求,具体哪个对象要到运行时再定,客户端只需将请求提交到责任链上,无需关心谁处理 适用场景:采购审批子系统、OA中假条审批模块 输出: 阅读全文
摘要:
策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 一个对象有很多行为,避免用众多if……else if这种形式把这些行为转移到相应的具体策略中,可避免难以维护的多重选择。 适 阅读全文
摘要:
桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化”。 如果一个系统要在抽象化和具体化之间增加更多的灵活性,避免在两个层次 阅读全文
摘要:
门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。 1 //子系统中的类 2 class ModuleA{ 3 public void method(){ 4 //业务代码 5 } 6 ... 阅读全文
摘要:
享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。 1 import java.util.HashMap; 2 import java.util.Map; 3 4 //抽象享元接口 5 interface Flyweight{ 6 //state参数为外蕴状态 7 ... 阅读全文