设计模式之创建型模式

简介: 设计模式之创建型模式

概念说明

大话设计模式

 大话设计模式主要分为三部分,第一部分是创建型模式,第二部分是结构型模式,第三部分是行为型模式。至于为什么要分为这三部分,我的理解是创建型是用于创建对象的而结构型是发生在类与类之间的关系是比较宏观的,比如说组合或者交互。行为型是一个微观的关系主要体现在对象与对象之间和方法与方法之间。接下来说一说创建型模式。

创建型模式

 创建型模式是隐藏了类的实例是如何被创建的和放在一起的,整个系统关于这些对象所知道的是由抽象类所定义的接口。简单来说,创建型模式是把具体的实现给封装起来,对外只提供一个接口。创建型模式包括:建造者模式、工厂方法、抽象工厂、原型模式和单例模式。

各模式详解

建造者模式

91d4593e18af4e1ea12794504809ba85.png

好处:将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。通过链式调用或者步骤式调用,提供了更好的可读性和可维护性。

使用场景:当对象的构建过程比较复杂,需要多个步骤或者有多种表示时,可以使用建造者模式。例如,创建一个包含多个组件的表单、游戏角色的创建等。

工厂方法

3a207711901c4c7ea966ea8e87640fe2.png

好处:将对象的创建与使用分离,客户端代码通过工厂接口来创建对象,而无需关心具体的实现类。增加新的产品时,只需实现工厂接口即可,无需修改客户端代码。

使用场景:当需要创建复杂对象,或者对象的创建涉及到一些逻辑判断时,可以使用工厂方法模式。例如,图形绘制工具中的不同形状的创建。

抽象工厂

c43f4bedec1449deb6aa0337d08c57b9.png

好处:提供一个接口来创建一系列相关或相互依赖的对象,而无需指定其具体类。客户端代码通过工厂接口来创建对象,从而实现了客户端代码与具体类的解耦。

使用场景:当需要创建一系列相关的产品对象,且这些产品对象之间有一定的约束关系时,可以使用抽象工厂模式。例如,GUI工具包中的不同主题风格的创建。

原型模式

9bccf9fa2fdf4dc78ece9d7e84b7d0f0.png

好处:通过复制现有对象来创建新对象,避免了创建子类的情况下的对象创建过程。提供了一种动态创建对象的方式,可以根据需要创建多个相似对象。

使用场景:当需要创建多个相似的对象,且对象的创建过程比较复杂时,可以使用原型模式。例如,电子邮件的草稿功能、游戏中的敌人克隆等。

单例模式

cca3414224db459ea8243723568ad655.png

好处:确保一个类只有一个实例,节省内存空间,提供全局访问点,避免多个实例之间的数据不一致问题。

使用场景:需要全局访问点,共享资源,或者需要限制对象的创建数量时可以使用单例模式。例如,数据库连接池、线程池等。

其他模式

结构型模式:https://blog.csdn.net/weixin_45490198/article/details/131432715

行为型模式:https://blog.csdn.net/weixin_45490198/article/details/131433336

总结提升

 这些创建型设计模式都有各自的优势和适用场景。正确地选择和使用适合的设计模式可以提高代码的可维护性、可读性和可测试性,并帮助我们构建更好的软件系统。

 总的来说,创建型设计模式提供了一种灵活、可复用和可扩展的方式来创建对象。它们可以帮助我们隐藏对象的创建细节,提供全局访问点,解耦对象的创建与使用,以及实现动态创建对象的能力。正确地应用这些模式可以提高代码的可维护性、可读性和可测试性,并帮助我们构建更好的软件系统。


相关文章
|
8天前
|
设计模式 缓存 安全
设计模式 - 创建型模式_ 单例模式 Singleton Pattern
设计模式 - 创建型模式_ 单例模式 Singleton Pattern
43 0
|
8天前
|
设计模式 算法 安全
Java设计模式---创建型模式
Java设计模式---创建型模式
|
8天前
|
设计模式 存储 安全
【设计模式】创建型模式之单例模式(Golang实现)
【2月更文挑战第3天】一个类只允许创建一个对象或实例,而且自行实例化并向整个系统提供该实例,这个类就是一个单例类,它提供全局访问的方法。这种设计模式叫单例设计模式,简称单例模式。
37 1
|
8天前
|
设计模式 安全 Java
Java 设计模式最佳实践:二、创建型模式
Java 设计模式最佳实践:二、创建型模式
37 0
|
8天前
|
设计模式 NoSQL 中间件
设计模式 - 创建型模式_抽象工厂模式
设计模式 - 创建型模式_抽象工厂模式
25 0
|
6月前
|
设计模式 C#
c#设计模式-创建型模式 之 工厂模式
工厂模式(Factory Pattern)是一种常用的对象创建型设计模式。该模式的主要思想是提供一个创建对象的接口(也可以是抽象类、静态方法等),将实际创建对象的工作推迟到子类中进行。这样一来,客户端只需关注接口而无须了解具体的类实现,实现了代码的解耦,提高了系统的可维护性和扩展性。工厂模式可以分为简单工厂模式,工厂方法模式和抽象工厂模式。简单工厂模式:又叫静态工厂方法模式,它是由一个工厂对象决定创建出哪一种产品类的实例,但它不属于工厂模式家族,它属于创建型模式,但不属于23种GOF设计模式之一。
24 1
|
9月前
|
设计模式 Java Apache
设计模式-创建型模式:原型模式
设计模式-创建型模式:原型模式
|
9月前
|
设计模式
设计模式-创建型模式:建造者
设计模式-创建型模式:建造者
|
9月前
|
设计模式 缓存 Java
设计模式-创建型模式:单例模式
设计模式-创建型模式:单例模式
|
9月前
|
设计模式 SQL Oracle
设计模式-创建型模式:抽象工厂
设计模式-创建型模式:抽象工厂