.. _creationalpatterns: creational patterns =================== 5个创建型模式 Singleton pattern -------------------- 单例模式, 保证无论实例调用多少次,该操作只运行一次。 并发模式需要加锁。 Factory pattern ------------------- 简单工厂模式: 它提供了一种将实例化逻辑委托给子类的方法。 当类中有一些通用处理但所需的子类在运行时动态决定时很有用。或者换句话说,当客户不知道它可能需要什么确切的子类时。 Abstract Factory pattern --------------------------- 抽象工厂模式: 工厂的工厂;一个工厂,它将单独但相关/依赖的工厂组合在一起,而不指定它们的具体类。 当存在相互关联的依赖关系并涉及不那么简单的创建逻辑时. Builder pattern ------------------ 建造者模式 允许您创建不同风格的对象,同时避免构造函数污染。当一个对象可能有多种风格时很有用。或者当创建一个对象涉及很多步骤时。 当一个对象可以有几种类型时,为了避免构造函数伸缩。与工厂模式的关键区别在于;当创建是一个一步过程时使用工厂模式,而当创建是一个多步骤过程时使用构建器模式。 Prototype pattern -------------------- 原型模式, 通过克隆基于现有对象创建对象。简而言之,它允许您创建现有对象的副本并根据需要对其进行修改,而无需经历从头开始创建对象并进行设置的麻烦。 当需要一个与现有对象相似的对象时,或者当创建与克隆相比代价高昂时。