一.UML图 关键词:Subject维护一个Observer列表.Subject运行Notify()时就运行列表中的每一个Observer的Update(). 二.概念 观察者模式:定义了一种一对多的依赖关系.让多个观察者对象同一时候监听某一主题对象. 这个主题对象在状态发生变化时,会通知全部观察者对象,使他们可以自己主动更新自己. 三.说明 角色: (1)Subject类:能够翻译为主题或者抽象通知者,一般用一个抽象类或者一个接口实现.他把全部对观察者对象的引用保存在一个聚集里,每一个主题都能…
一.UML图 二.包括的角色 简单工厂模式包括三个角色: (1)工厂类Factory:工厂类是用来制造产品的. 因此,在Factory中有一个用于制造产品的Create函数或者Generate函数之类的函数.这个函数可以依据"标识符"的不同生成不同的ConcreteProduct,当然这些ConcreteProduct都是继承自AbstractProduct的. (2)抽象产品类AbstractProduct:抽象产品是从其它详细产品抽象出来的. 抽象产品类仅仅有一个. (3)详细产品…
一.UML图 二.概念 抽象方法模式(Abstract Factory):提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们详细的类. 三.包括的角色 (1)抽象工厂 (2)详细工厂:包含详细工厂1和详细工厂2.详细工厂1用于生产详细产品A1和详细产品B1,详细工厂2用于生产详细产品A2和详细产品B2: (3)抽象产品:包含抽象产品A和抽象产品B. (4)详细产品:包含抽象产品A所相应的详细产品A1和A2.以及抽象产品B所相应的详细产品B1和B2. 说明:在<大话设计模式>中,上述的1…
一.UML画画 二.概念 状态模式(State):当一个对象的内在状态改变时同意改变其行为.这个对象看起来像是改变了其类. 三.说明 以下是来自书本和网络的对状态模式的定义和分析: (1)状态模式同意对象在内部状态改变时改变它的行为,对象看起来好像改动了它的类.看起来,状态模式好像是神通广大非常厉害似的--竟然可以"改动自身的类"! (2)适用场景: a)状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况. 把状态的推断逻辑转移到表示不同状态的一系列类中,能够把复杂…
一.UML图 二.概念 桥接模式(Bridge):将抽象部分与它的实现部分分离,使他们都能够独立地变化. 三.说明 为什么叫"桥接模式"? 如上所看到的的UML图中,有一个聚合线,像一座桥.所以叫"桥接模式". 概念解释: 什么叫抽象与它的实现分离,这并非说.让抽象类与其派生类分离.由于这没有不论什么意义.实现指的是抽象类与它的派生类用来实现自己的对象. 为什么要优先使用合成/聚合原则? (1)对象的继承关系是在编译时就定义好了的.所以无法再执行时改变从父类继承的实…
一.UML画画 关键词:添加Facade层. 二.概念 外观模式:为子系统中的一组接口提供一个一致的界面.此模式定义了一个高层接口,这个接口使得这一子系统更加easy使用. 三.说明 Q:外观模式在什么时候使用呢? A:分为三个阶段: (1)首先,在设计初期阶段.应该要有意识的将不同的两个层分离. (2)第二.在开发阶段,子系统往往由于不断的重构演化而变得越来越复杂,大多数的模式使用时也会产生非常多非常小的类,这本是好事儿,可是也给外部调用他们的用户程序带来了使用上的困难,添加外观Facade能…
一个.UML画画 二.概念 代理模式:为其它对象提供一种代理以控制对这个对象的訪问. 三.应用场景 (1)远程代理.也就是为一个对象在不同的地址空间提供局部代表.这样能够隐藏一个对象存在于不同地址空间的事实. (2)虚拟代理,是依据须要创建开销非常大的对象.通过他来存放实例化须要非常长时间的真实对象. 比如:图片载入的时候. (3)安全代理.用来控制真是对象訪问时的权限. (4)智能指引,是指当调用真实的对象的时候.代理处理另外一些事. 根本原理:代理模式事实上就是在訪问对象的时候引入了一定程度…
一.UML图 关键词:Leaf是叶子,Composite是非叶子节点,Composite包括Leaf. 二.概念 组合模式(Composite):将对象组合成树形结构以表示"部分-总体"的层次结构. 组合模式使得用户对单个对象和组合对象的使用具有一致性. 三.说明 角色: (1)Component:为组合中的对象声明接口.在适当情况下,实现全部类共同拥有接口的默认行为.声明一个接口用于訪问和管理Component 的子部件. (2)Leaf:在组合中白哦是叶节点对象,叶节点没有子节点.…
一.UML图 二.概念 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法是一个类的实例化延迟到其子类. 三.包括的角色 (1)抽象工厂 (2)详细工厂 (3)抽象产品 (4)详细产品 四.优势 (1)工厂方法模式是对简单工厂模式的略微的改进.工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际工作推迟到子类中. (2)与简单工厂模式相比,制造产品的工厂类不再 仅仅有一个.而是每种详细产品类都相应一个生产它的详细工厂类. 而这些详细…
一.UML图 关键词:Client须要Request()函数,Adaptee提供的是SpecificRequest()函数,Adapter提供一个Request()函数将Adaptee和SpecificeRequest()函数封装起来. 二.概念 适配器模式:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原来因为接口不兼容而不能一起工作的那些类能够一起工作. 三.说明 角色: (1)Target:这是客户所期待的接口,Target能够是详细的或抽象的类,也能够是接口. (2)…