设计模式-创建模式
一、总括
话说设计模式:每一种设计模式都描述了一个我们周围不断重复发生的问题以及解决方案的核心,使用涉及模式可以避免代码的重复劳动。
设计模式的主要目标:提供代码的可维护性和可读性。
设计模式的原则: 开闭原则(扩展开放、修改关闭),依赖倒转(依赖抽象,不依赖具体),里氏代换原则(子类必须能替换父类的每一种情况)。
设计模式分类:创建模式(5)、结构模式(7)、行为模式(11)
二、 创建模式:(抽象了对象的实例化过程)
1. ABSTRACT FACTORY(抽象工厂模式):针对产品族,有N个产品族在抽象工厂类中就应该有N个创建方法;一个具体工厂类能创建多个具体产品类。
2. FACTORY METHOD(工厂方法):工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中;
一个抽象产品可以有多个具体的产品,但是一个具体的创建类只能创建一个产品;一个具体工厂类只能创建一个具体产品类;
2.1 简单工厂模式
当一个模块只需要一个工工厂类时,我们可以将抽象工厂类kill掉,然后将具体工厂类中制造产品的方法前面加static关键字,则,工厂方法模式就变为了简单工厂模式。
该模式是工厂方法模式的弱化,因为简单,所以称为简单工厂模式(Simple Factory Pattern),也叫做静态工厂模式。\
在实际项目中,采用该方法的案例还是比较多的,其缺点是工厂类的扩展比较困难,不符合开闭原则,但它仍然是一个非常实用的设计模式。
3. SINGLETON(单例):保证一个类仅有一个实例并提供它的全局访问点。
应用场景:在资源共享情况下,避免资源操作导致的失误 或者损耗,如资源管理器、文件系统、数据库连接、回收站等。
4. BUILDER(创建者模式):将一个复杂对象的创建与它的表示分离,使得同样的构建过程创建不同的表示。
5. PROTOTYPE(原型):用原型实例指定创建对象的类型,并他通过拷贝这些原型创建新的对象。
三、五种创建模式实例图