CH03_生成实例
Singleton模式
单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。
类图

说明
-  Singleton 在Singleton模式中,只有Singleton这一个角色。Singleton角色中有一个返回唯一实例的static方法。该方法总是返回同一个实例。 
Prototype 模式
原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
类图

说明
-  Prototype(原型) Product角色负责定义用于复制现有实例来生成新实例的方法, 
-  ConcreteProtoType(具体的原型) ConcreteProtoType角色负责实现复制现有实例并生成新实例的方法。 
-  Client(使用者) Client角色负责使用负责实例的方法生成新的实例 
Builder模式
建造者模式(Builder)将一个复杂对象的构造的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
类图

时序图

说明
-  Builder(建造者) Builder角色负责定义用于生成实例的接口(API)。Builder角色中准备了用于生成实例的方法。 
-  ConcreteBuilder(具体的建造者) ConcreteBuilder角色是负责实现Builder角色的接口的类(API)。这里定义了在生成实例时实际被调用的方法。此外,在ConcreteBuilder角色中还定义了获取最终生成结果的方法。 
-  Director(监工) Director角色负责使用Builder角色的接口(API)来生成实例。它并不依赖于ConcreteBuilder角色。为了确保不论ConcreteBuilder角色是如何被定义的,Director角色都正常工作,它只调用在Builder角色中被定义的方法。 
-  Client(使用者) 该角色使用了Builder模式(Builder模式并不包含Client角色)。 
Abstract Factory 模式
抽象工厂模式(Abstract Factory)提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
类图

说明
-  AbstractProduct(抽象产品) AbstractProduct角色负责定义AbstractFactory角色所生成的抽象零件和产品的接口(API)。 
-  AbstractFactory(抽象工厂) AbstractFactory角色负责定义用于生成抽象产品的接口(API)。 
-  Client(委托者) Client角色仅会调用AbstractFactory角色和AbstractProduct角色的接口(API)来进行工作,对于具体的零件,产品和工厂一无所知。 
-  ConcreteProduct(具体产品) ConcreteProduct角色负责实现AbstractProduct角色的接口(API)。 
-  ConcreteFactory(具体工厂) ConcreteFactory角色负责实现AbstractFactory角色的接口(API)。 
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!