读《大话设计模式》之观察者模式

一、模式概述:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象爱,使他们能够自动更新自己。 UML图: 二、模式优缺点:     阅读全文
CodePoem's avatar
CodePoem 11月 22, 2016

读《大话设计模式》之备忘录模式

一、模式概述:在不破坏封装性的前提下,捕获一个对象的内部状态,并在改对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。UML图:Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可以...     阅读全文
CodePoem's avatar
CodePoem 10月 12, 2016

读《大话设计模式》之适配器模式

一、模式概述:将一个类的接口转换成客户希望的另外一个接口。适配器的意思就是使得一个东西适合另一个东西的东西。如,不同国家有不同标准的电压(110V、220V),于是就需要电源适配器。 UML图:Target:客户所期待的接口。(目标可以是具体的或抽象的类,也可以是接口)Adaptee:需要适配的类。Adapter:适配器类。(通过在内部包装一个Adaptee对象,把源接口转换成目标接口)Client:客户端。 ...     阅读全文
CodePoem's avatar
CodePoem 10月 11, 2016

读《大话设计模式》之状态模式

一、模式概述:在很多情况下,一个对象的行为取决于它的一个或多个变化的属性,这些属性我们称之为状态,这个对象称之为状态对象。对于状态对象而言,它的行为依赖于它的状态。这样的一个对象,当它在于外部事件产生互动的时候,其内部状态就会发生改变,从而使得他的行为也随之发生改变** 所谓状态模式就是允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。** 没图说个文明你我他。 UML图:     阅读全文
CodePoem's avatar
CodePoem 10月 10, 2016

读《大话设计模式》之抽象工厂模式

一、模式概述:提供一个创建一系列相关或互相依赖的接口,而无需指定它们具体的类。 先来认识下什么是产品族: 位于不同产品等级结构中,功能相关联的产品组成的家族。 UML图: 抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关。是具体工厂角色必须实现的接口或者必须继承的父类。在java中它由抽象类或者接口来实现。 具体工厂角色:它含有和具体业务逻辑有关的代码。由应用程序调用以创建对应的具体产品的对象。在java中它由具体的类来实现。 抽象产品角色:它是具体产品继承的父类或者是实现的接口。在java中一般有抽象类或者接口来...     阅读全文
CodePoem's avatar
CodePoem 3月 10, 2016

读《大话设计模式》之简单工厂模式

一、模式概述:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式 简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。 UML图: 工厂(Creator)角色:简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。 抽象产品(Product)角色:简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。 具体产品(Concrete Product)角色:是简单工厂模式的创建目标,所有创建的对象都...     阅读全文
CodePoem's avatar
CodePoem 1月 22, 2016