设计模式之创建型

1、What

关注对象的创建过程,旨在通过不同的方式来创建对象,以解耦对象的创建与其使用过程。这些模式提供了创建对象的灵活性和可扩展性,使得代码更加易于维护和管理。

1.1 单例模式

确保一个类只有一个实例,并提供一个全局访问点。

特征:构造函数私有,即只能通过类自身创建实例。

两个static:公有创建实例的static方法、实例为static对象。

1.2 工厂方法模式

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

特征:类的实例化推迟到子类。

1.3 抽象工厂模式

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。这通常通过定义一组抽象方法来实现,每个方法都返回一个特定类型的对象。

1.4 建造者模式

将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。这通常通过定义一个建造者接口和具体的建造者类来实现。

1.5 原型模式

复制现有的实例来创建新的对象。通过实现一个原型接口,并定义一个克隆方法来实现。

1.6 简单工厂模式

Why

创建型设计模式之所以重要,是因为它们解决了对象创建过程中的一些常见问题,如代码重复、对象创建与使用过程的紧密耦合、以及对象创建的复杂性等。通过使用这些模式,开发者可以更加灵活地控制对象的创建过程,提高代码的可维护性和可扩展性。

Who

创建型设计模式的使用者主要是软件开发者,特别是那些关注于代码结构、可维护性和可扩展性的开发者。这些模式可以应用于各种软件项目中,帮助开发者更好地设计和实现系统的对象创建过程。

When

在以下情况下,使用创建型设计模式可能是一个好的选择:

  • 当需要控制对象的创建过程,以避免代码重复或提高创建过程的灵活性时。
  • 当对象的创建过程变得复杂或需要动态地创建对象时。
  • 当希望解耦对象的创建与使用过程,以提高代码的可维护性和可扩展性时。

Where

创建型设计模式可以应用于软件项目的各个层面,从底层框架到高层应用逻辑。它们可以在类的设计、接口的实现以及对象之间的交互等多个方面发挥作用。

How

How much

在使用创建型设计模式时,需要评估其带来的额外复杂性和成本。虽然这些模式可以提高代码的可维护性和可扩展性,但它们也可能增加代码的复杂性和理解难度。因此,在决定使用哪种模式时,需要权衡其优缺点,并根据项目的具体需求来做出决策。

相关推荐
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式
槑有老呆1 天前
从 Prompt Engineering 到 Harness Engineering:AI 编程的下一次跃迁
设计模式
HjhIron2 天前
从Prompt到Context:大模型应用开发的范式转移
设计模式·aigc·ai编程
咖啡八杯3 天前
GoF设计模式——中介者模式
java·后端·spring·设计模式
胡萝卜术4 天前
从“分数打架”到“排名投票”:为什么你的ChatBI必须用RRF?
算法·设计模式·面试
亦暖筑序5 天前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
青禾网络7 天前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
ZJPRENO8 天前
吃透软件开发六大设计原则,告别烂代码
设计模式
咖啡八杯8 天前
GoF设计模式——命令模式
java·设计模式·架构
花椒技术8 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播