📌 创建型模式
创建型模式主要关注如何有效地创建对象或类的实例。这些模式隐藏了对象创建的具体逻辑,但提供了一个共同的接口来创建对象。创建型模式可以分为两类:
🎯 简单创建型模式:
- 核心: 提供一个方法,通过该方法返回所需的对象。
- 特点: 通常涉及单个类,该类负责创建一个或多个类的实例,但不需要直接使用构造函数。
- 优点: 能够根据条件动态地创建所需的对象,而无需修改现有代码。
- 缺点: 由于涉及到具体的类,当添加新类型的对象时,可能需要修改工厂类。
🎯 复杂创建型模式:
- 核心: 与多个类相关,并有多个步骤或方法来创建对象。
- 特点: 可能涉及到多个对象或类的创建,有时这些对象是相互关联的。
- 优点: 提供更多的灵活性,可以创建一系列相关或依赖的对象。
- 缺点: 更复杂,可能需要更多的类和对象来实现。
⚠️ 注意: 创建型模式的目标是提供更有效、更灵活的方式来创建对象,同时隐藏具体的创建逻辑,使得代码更加整洁和模块化。
⚡️ 3.1 单例模式
- 作用: 节省内存
- 了解更多
- 结构:
- 🏢 单例类: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。
- 🛍️ 访问类: 通过此类访问单例类的实例。
⚡️ 3.2 工厂模式
- 作用: 封装创建对象的过程
- 了解更多
- 结构:
- 📦 抽象产品: 定义产品的接口。
- 🎁 具体产品: 实现抽象产品接口的类。
- 🏭 抽象工厂: 提供创建产品的接口。
- 🛠️ 具体工厂: 根据实际需求,生产相应的具体产品。
⚡️ 3.3 原型模式
- 作用: 克隆对象
- 了解更多
- 结构:
- 📘 抽象原型类: 提供克隆的方法,确保所有的原型类都有克隆方法。
- 📗 具体原型类: 实现克隆的具体操作,确保对象可以被复制。
- ⚡️ 对象访问类: 使用具体原型类的克隆方法创建新的对象。
⚡️ 3.4 生成器模式(建造者模式)
- 作用: 封装一个复杂对象的构造过程,并允许按步骤构造
- 了解更多
- 结构:
- 🔨 产品: 由多个组件组成的复杂对象。
- 📝 抽象生成器: 定义创建产品各个组件的方法和返回产品的方法。
- 🔧 具体生成器: 实现抽象生成器定义的方法,按顺序创建产品的组件。
- 🎩 指挥者:
- 与具体生成器协作,按照特定顺序创建产品。
- 根据用户需求,指导生成器按照步骤组装部件,并返回完成的产品。