创建型模式里的六个模式

1Simple Factory Pattern
******************************
专门定义一个“工厂类”,该类根据不同的参数创建不同的“产品类”的实例。通常被创建的实例具有相同的父类。

例如:
    要生产CPU,有两种品牌:AMDIntel。可以建立一个CPU_Factory, 它的方法Create根据传入的参数不同,返回AMDIntel对象。

******************************
2Factory Method Pattern
******************************
Simple Factory中,“父类工厂”创建“产品类”实例的操作延迟到“子类工厂”中,由“子类工厂”来决定实例化哪个“产品类”。

例如:父类CPU_Factory不在亲自创建CPU,而是留给AMD_FactoryIntel_Factory来具体实施。

******************************
3Abstract Factory Pattern
******************************
提供一个创建一系列相关或相互依赖对象的接口,而无须制定他们具体的类。
Factory Method最大的区别是,后者针对的是一个产品的等级结构,而抽象工厂针对的是多种不同产品的等级结构。

例如:DellIBM这两个子工厂生产的是一系列不同的产品(CPU,HardDisk,Mainboard)的组合(称为一个产品族);这两个工厂会选择不同的品牌作为产品族的成员。

4Builder Pattern
******************************

复杂对象的构建过程可能分很多步骤,可以将构建过程与对象的表示相分离, 使得同样的构建过程可以创建不同的表示。该模式包括“指挥者(Director)”,“建造者(Builder)”和“产品类(Product)”。建造者为指挥者提供一系列构建产品所需要的接口,指挥者将这些接口按一定的次序组合,以完整整个构建流程。
类图如下:

例如:车间(shop)作为指挥者,指挥车辆的装配过程,车行(VehicleBuilder)采用不同车间装配出不同类型的车辆。类图如下:

******************************
5Prototype Pattern
******************************
指定创建对象的种类,并且通过拷贝这些原型创建新的对象。允许一个对象再创建另一个可订制的对象,而无须知道任何创建的细节。工作原理是:通过将一个原型对象(Prototype)传给那个要发动创建的对象(Client),Client通过请求Prototype的拷贝原型方法来实施创建过程。其本质非常简单,即作为原型的那个类创建了一个拷贝的方法即可。
类图如下:


******************************
6Singleton Pattern
******************************
确保一个类只有一个实例,并且自行实例化并向整个系统提供这个实例。
要点有三:1、只能有一个实例;2、必须自行创建这个实例;3、自行向整个系统提供这个实例。
其类图非常简单,只需要在该类中定义一个该类的静态实例,并通过初始化创建这个实例(或通过方法创建/提供这个实例)即可。类图如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值