设计模式之创建型——生产

1、抽象工厂:提供一个创建一系列或相关依赖对象的接口,而无需指定它们具体的类

非官方:工厂的结构和工厂模式的结构相同,只不过,抽象工厂生产出的(实例化)类不是一个具体的类,这样生成的类的类型就不受限制了,从而扩展了工厂的生产能力,使产品多元化。换句不严谨的话说,所用到的类都可以通过这个抽象工厂进行自己的实例化,而工厂只能供指定的类使用。

 

2、建造者:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示

非官方:提供一个“方程式”作为骨架,“变量”作为元素,调用时“变量”的值是灵活的,但最终结果都满足这个骨架的结构,只是长的不太一样,也就是建造者提供一个规律。 “方程式”即建造者里的方法,决定被建造出来的样子。

 

3、工厂:定义一个用于创建对象的接口,让子类决定实例化哪一个类,使实例化延迟到子类

非官方:构建一个工厂接口,具体工厂类实现这个接口,通过调用接口提供的方法实例化(即生产出)一个具体的类。和简单工厂相比,工厂里每个要实例化的类都对应一个具体的工厂,从而避开了简单工厂里判断分支的不足,也就是说,工厂里生成的类属于同一个类型

 

4、原型:用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象

非官方:和建造者类似且容易混淆,原型提供一个基本“方程式”,通过原型产生的是改变元素以后的方程式,它们都具有“产生”的功能,也就是原型提供的是一系列相似的规律。建造者的产物属于同一级别,原型的产物和原型属于同一级别。

 

5、单例:保证一个类仅有一个实例,并提供一个访问它的全局访问点

非官方:顾名思义,类的实例化是单一的,即此类实例化一次就不再实例化了,以后用到此类时只要调用它一下就可以了。所以要有提供一个调用实例的方法

猜你喜欢

转载自blog.csdn.net/qq_41026669/article/details/89707979