设计模式-创建型模式(读书笔记)

来源:互联网 发布:中本聪到底是谁知乎 编辑:程序博客网 时间:2024/05/08 18:13

设计模式是经过总结、优化的,对经常碰到的一些编程问题可重用的解决方案。

创建型模式抽象了实例化过程,类创建型模式-使用继承改变被实例化的类,对象创建型模式-将实例化委托给另一个对象。

抽象工厂(abstract factory)

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


AbstractFactory:声明创建抽象产品对象的接口。

ConcreteFactory:创建具体的产品对象,实现AbstractFactory接口。

AbstractProduct:为一类产品对象声明接口。

ConcreteProduct:被ConcreteFactory具体工厂创建的具体产品对象,实现AbstractProduct接口。

client:仅使用由AbstractFactory和AbstractProduct类声明的接口,AbstractFactory将对象的创建延迟到ConcreteFactory子类。

生成器(Builder)

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


Builder:为创建一个product对象的各个部件指定抽象接口

ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件

Director:构造一个使用Builder接口的对象

Product:表示被构造的复杂对象,ConcreteBuilder创建该产品的内部表示并定义它的装配过程;包含定义组成部件的类,包括将这些部件装配成最终产品的接口。

使用过程:客户创建Director对象,并用它所想要的Builder对象进行配置;一旦产品部件被生成,导向器就会通知生成器;生成器处理导向器的请求,并将部件添加到该产品中;客户从生成器中检索产品。


工厂方法(factory method)

定义一个用于创建对象的接口,让子类决定实例化哪一个类。


Product:定义创建对象的接口

ConcreteProduct:实现Product接口

Creator:声明工厂方法,该方法返回一个Product类型对象

ConcreteCreator:重定义工厂方法,返回一个ConcreteProduct实例

原型(prototype)

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


Prototype:声明一个克隆自身的接口

ConcretePrototype:实现一个克隆自身的操作

Client:让一个原型克隆自身从而创建一个新对象

单例模式(Singleton)

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


0 0
原创粉丝点击