创建型模式:
1.抽象工厂:提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类。【DP】
创建模式隐藏了这些类的实例是如何被创建和放在一起,整个系统关于这些对象所知道的是由抽象类所定义的接口。这样,创建型模式在创建了什么、谁创建它,它是怎么被创建的,以及何时创建这些方面提供了很大的灵活性【DP】。
2.建造者:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。【DP】
内聚性描述的是一个例程内部组成部分之间相互联系的紧密程度。而耦合性描述的是一个例程与其他例程之间联系的紧密程度。软件开发的目标应该是创建这样的例程:内部完整,也就是高内聚,而与其他例程之间的联系则是小巧、直接、可见、灵活的,这就是松耦合【DPE】
3.工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到其子类。【DP】
创建型模式抽象了实例化的过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式都会将关于该系统使用那些具体的类的信息封装起来。允许客户用结构和功能差别很大的‘产品’对象配置一个系统。配置可以是静态的,即在编译时指定,也可以是动态的,就是运行时再指定。【DP】
通常涉及模式应该从工厂方法开始,当设计者发现需要更大灵活性时,涉及便会向其他创建型模式演化。当设计者在设计标准之间进行权衡的时候,了解多个创建型模式可以给设计者更多的选择余地。【DP】
4.原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。【DP】
建立相应数目的原型并克隆他们通常比每次用何时的状态手工实例化该类更方便点【DP】。
5.单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。【DP】
对一些类来说,一个实例是很重要的。让类自身保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且我还提供了一个访问该实例的方法对唯一的实例可以严格地控制客户怎样以及何时访问它【DP】。