Published on

创建型设计模式总结

Authors
  • avatar
    Name
    青雲
    Twitter

创建型设计模式主要关注于对象的创建过程,解决在软件开发中对象创建问题。通过不同的创建型设计模式,我们可以灵活地创建对象,提高代码的可维护性、可扩展性和复用性。常见的创建型设计模式有单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式。

对比

模式概述优点缺点适用场景
单例模式确保某个类只有一个实例,并提供全局访问点。-节省内存
-便于对象共享
- 难以并行测试
- 隐藏依赖关系
- 控制实例数量
- 全局访问共享资源
工厂模式定义一个用于创建对象的接口,由子类决定实例化哪个类。- 解耦对象的创建和使用
- 代码更具可扩展性
- 增加系统复杂
- 类的数量增加
- 创建复杂对象
- 动态决定实例化哪个类
抽象工厂模式提供一个接口用于创建一系列相关或依赖的对象。- 保证产品一致
- 易于扩展
- 增加系统复杂度
- 类的数量急剧增加
- 创建相关或依赖的对象
- 不同产品系列
建造者模式将对象的构建过程分离出来,使同样的构建过程可创建不同的表示。- 增强对象构建灵活性
- 增加代码可读性
- 增加代码复杂度
- 引入额外的类
- 创建复杂对象
- 分步骤创建对象
原型模式通过复制现有对象来创建新对象。- 快速创建对象
- 简化对象创建过程
- 深拷贝复杂
- 内存消耗较高
- 高效复制复杂对象
- 大量生成相似对象

总结

创建型设计模式在对象的创建过程中起到了重要作用。不同的模式适用于不同的场景,具体选择哪种模式取决于项目的需求、对象创建的复杂度以及系统的可维护性和可扩展性要求。

  1. 单例模式:适用于需要确保某个类只有一个实例的场景,常用于配置对象、日志对象、数据库连接池等。
  2. 工厂模式:适用于需要创建复杂对象但又希望封装对象创建过程的场景,常用于组件创建、多态对象实例化等。
  3. 抽象工厂模式:适用于需要创建一系列相关或依赖的对象的场景,常用于跨平台开发、不同行为模式的组装等。
  4. 建造者模式:适用于需要创建复杂对象并希望通过多步骤进行构建的场景,常用于构建复杂的配置对象、UI 组件等。
  5. 原型模式:适用于需要高效复制对象的场景,常用于对象实例化代价高、需要大量复制相似对象等。

通过深入理解和灵活运用这些创建型设计模式,可以提高代码的可扩展性、可维护性和复用性,为项目开发提供更高质量的解决方案。