目录

一、前言

二、创建型模式定义

三、创建型模式

1、单一职责原则与模式

2、工厂方法模式(Factory Method Pattern)

3、抽象工厂模式(Abstract Factory Pattern)

4、单例模式(Singleton Pattern)

5、建造者模式(Builder Pattern)

6、原型模式(Prototype Pattern)

四、创建型模式的五种模式又分为了两种类型

五、为什么分为直接、间接呢?

六、五种模式之间的区别

1、如下图是对五种模式从代码和图进行分析它们之间的相同和不同

2、如下图是从它们的功能进行分析它们之间相同和不同

七、总结:


一、前言

创建型设计模式是面向对象设计中的重要组成部分,它们专注于对象的实例化和创建过程,帮助我们构建灵活、可扩展的软件系统。本文将从《大话设计模式》的视角,深入剖析六种创建型设计模式的核心思想和实际应用。

二、创建型模式定义

用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。

三、创建型模式

1、单一职责原则与模式

《大话设计模式》中强调单一职责原则的重要性,它鼓励将一个类的职责限制在一个领域内,避免类的职责过于庞大。

2、工厂方法模式(Factory Method Pattern)

工厂方法模式通过定义一个创建对象的接口,但由子类决定要实例化的类是哪一个。这种方式使得一个类的实例化延迟到其子类,增加了系统的灵活性。

3、抽象工厂模式(Abstract Factory Pattern)

抽象工厂模式提供一个接口,用于创建一系列相关或依赖对象的家族,而不需要指定具体的类。它有助于实现系统的一致性,同时允许更换整个产品家族。

4、单例模式(Singleton Pattern)

单例模式确保一个类只有一个实例,并提供一个全局访问点。它在需要共享资源的情况下非常有用,例如数据库连接池、日志系统等。

5、建造者模式(Builder Pattern)

建造者模式将一个复杂对象的构建过程与其表示分离,允许同样的构建过程创建不同的表示。它使得客户端可以指定要构建的类型和内容,而不需要知道具体的构建过程。

6、原型模式(Prototype Pattern)

 原型模式通过复制已有对象的实例来创建新的实例,避免了使用多个构造函数进行初始化。这种方式对于创建成本较高的对象特别有用。


四、创建型模式的五种模式又分为了两种类型

【大话设计模式】创建型模式探秘_客户端

五、为什么分为直接、间接呢?

分为直接和间接的依据是:客户端想要一个具体的产品,是否通过了第三方

直接:

单例模式,如果客户端想要一个具体的产品,是直接类名.方法名,当然客户端不知道类里面的具体细节

原型模式,如果客户端想要一个具体的产品,是直接调用克隆的方法

间接:

建造者,如果客户端想要一个具体的产品,他需要使用指挥者来指挥具体的建造者来创建具体的产品

工厂方法模式,如果客户端想要一个具体的产品,他需要通过使用具体的工厂返回一个具体的产品

抽象工厂和工厂方法一致。也是通过使用具体的工厂


六、五种模式之间的区别

1、如下图是对五种模式从代码和图进行分析它们之间的相同和不同

【大话设计模式】创建型模式探秘_原型模式_02

2、如下图是从它们的功能进行分析它们之间相同和不同

【大话设计模式】创建型模式探秘_创建型模式_03

七、总结:

《大话设计模式》中的创建型设计模式通过引入不同的模式,为软件设计提供了多种灵活、可维护的对象创建方式。单一职责原则、工厂方法、抽象工厂、单例、建造者、原型等模式在实际开发中都扮演着重要角色,帮助我们构建高效且可扩展的软件系统。