工厂模式:
所有工厂模式都用来封装对象的创建。工厂方法模式(Factory Method Pattern)通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。
创建者类(Creator):抽象创建者类,它定义了一个抽象的工厂方法,让子类实现此方法制造产品。
创建者通常会包含依赖于抽象产品的代码,而这些抽象产品由子类制造。创建者不需要真的知道在制造哪种具体产品。
能够产生产品的类称为具体创建者。
产品类:工厂生产产品,具体的产品。
产品类和创建者类这两个类层级是平行的,它们都有抽象类,而抽象类都有许多具体的子类,每个子类都有自己特定的实现。
工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
在工厂模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象的定义,Creator为抽象类创建类,也就是抽象工厂,具体如何创建产品类是有具体的实现工厂ConcreteCreator完成的。
设计原则:(依赖倒置原则)要依赖抽象,不要依赖具体类。
抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
单件模式(Singleton Pattern):
用来创建独一无二的,只能有一个实例的对象的入场券。
单件模式确保一个类只有一个实例,并提供一个全局访问点。