随笔分类 - 设计模式
摘要:一、概述 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 二、模式中的角色 Abstraction:定义抽象类的接口;维护一个指向Implementor类型对象的指针; RefinedAbstraction:扩充由Abstraction定义的接口; Implementor:定义具体行为,具体
阅读全文
摘要:一、概述 将一个类的接口转换为客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作; 二、模式中的角色 Target:定义客户端使用的与特定领域相关的接口; Clinet:与符合Target接口的对象协同; Adpatee:定义一个已经存在的接口,这个接
阅读全文
摘要:一、总结 创建型模式抽象了实例化的过程;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。 在这些模式中有两个不断出现的主旋律。第一,它们都将关于该系统使用哪些具体的类的信息封装起来。第二,它们隐藏了这些类
阅读全文
摘要:一、概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象; 二、模式中的角色 Prototype:声明一个克隆自身的接口; ConcretePrototype:实现一个克隆自身的操作; 三、UML类图 四、代码实现 五、实际应用 在.NET里,那个原型抽象类Prototype是用不着
阅读全文
摘要:一、概述 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 二、模式中的角色 Singleton:定义一个Instance操作,允许客户访问它的唯一实例,Instance是一个类操作;可能负责创建它自己的唯一实例; 三、UML类图 四、代码实现 4.1 双重锁定 4.2 静态初始化 五、应用场
阅读全文
摘要:一、概述 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示; 二、模式中的角色 Builder:为创建一个Product对象的各个部件指定抽象接口; ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件;定义并明确它所创建的表示;提供一个检索产
阅读全文
摘要:一、概述 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 二、模式中的角色 AbstarctProduct(IProduct):为一类产品对象声明一个接口; ConcreteProduct(MySqlProduct、SqlServerProduct):定义一个将被相应的具体工厂
阅读全文
摘要:一、概述 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法(Factory Method)使一个类的实例化延迟到其子类; 2、模式中的角色 Product(Map):定义工厂方法所创建的对象的接口。 ConcreteProduct(BaiduMap、GaodeMap):具体Produc
阅读全文
摘要:1、概述 将一个具体类的实例化交给静态工厂方法来实现; 2、模式中的角色 2.1:工厂类(Simple Factory)只包含创建具体类的静态方法; 2.2:抽象类(Map)定义简单工厂要返回的类; 2.3:具体类(BaiduMap,GaodeMap)具体类 3、UML图 4、代码实现 参考书籍《大
阅读全文

浙公网安备 33010602011771号