原型模式(Prototype )
意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
主要解决:在运行期建立和删除原型。
建造者模式(Builder)
意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。
单例模式(Sington)
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。
抽象工厂模式(Abstract Factory)
意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
主要解决:主要解决接口选择的问题。
工厂方法模式(Factory Method)
意图:暴露一个创建对象的方法,允许客户端创建不同工厂来生产产品。
主要解决:创建对象的接口,让子类去决定具体实例化的对象,把简单的内部逻辑判断移到了客户端代码。
简单工厂模式(Static Factory Method)
又称为静态工厂
意图:由一个工厂对象决定创建出哪一种产品类的实例。