模式总结(一)——创建型模式(Creational Pattern)

1)工厂方法(Factory Method)

定义一个用于创建对象的接口,让子类决定实例化那一个类。Factory Method使一个类的实例化延迟到子类。

别名
虚构造器(Virtual Constructor)

结构


参与者

Product
——定义工厂方法所创建的对象的接口。
ConcreteProduct
——实现Product接口。
Creator
——声明工厂方法,该方法返回一个Product类型的对象。Product也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。
——可以调用工厂方法以创建一个Product对象。
ConcreteProduct
——重定义工厂方法以返回一个ConcreteProduct实例。

2)抽象工厂(Abstract Factory)

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

别名
Kit

结构


参与者

AbstractFactory
——声明一个创建抽象产品对象的操作接口。
ConcreteFactory
——实现创建具体产品对象的操作。
AbstractProduct
——为一类产品对象声明一个接口。
ConcreteProduct
——定义一个将被相应的具体工厂创建的产品对象。
——实现AbstractProduct接口。
Client
——仅使用由AbstractFactory和AbstractProduct类声明的接口。

3)原型模式(Prototype Pattern

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

结构



参与者
Prorotype

——声明一个克隆自身的接口。
ConcretePrototype
——实现一个克隆自身的操作。
Client
——让一个原型克隆自身从而创建一个新的对象。

4)建造者模式(Builder Pattern)

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

结构



参与者
Builder

——为创建一个Product对象的各个部件指定抽象接口。
ConcreteBuilder
——实现Builder的接口以构造和装配该产品的各个部件。
——定义并明确它所创建的表示。
Director
——构造一个使用Builder接口的对象。
Product
——表示被构造的复杂对象。 ConcreteBuilder创建该产品的内部表示并定义它的装配过程。
——包含定义组成部件的类,包括将这些部件装配成最终产品的接口。


5)单例模式(Singleton)

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

结构


参与者

Singleton
——定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作(即Smalltalk中的一个类方法和C++中的一个静态成员函数) 。
——可能负责创建它自己的唯一实例。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值