Bootstrap

大乱炖-设计模式

不记文档,白忙一场


0、概述

学习地址

1> 学习地址一
    地址:菜鸟教程 -> 工厂模式
    网址:https://www.runoob.com/design-pattern/factory-pattern.html

分类

总体来说设计模式分为三大类:
​
1> 创建型模式,共五种:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。
2> 结构型模式,共七种:适配器模式、桥接模式、代理模式、组合模式、装饰器模式、外观模式、享元模式。
3> 行为型模式,共十一种:观察者模式、访问者模式、中介者模式、解释器模式、迭代器模式、备忘录模式、策
    略模式、命令模式、状态模式 <模板方法模式、责任链模式>。

1、工厂模式

工厂/抽象工厂区别

经典:
    https://m.php.cn/article/344745.html

应用场景

1> 场景:
    通过使用一个共同的接口来指向新创建的对象(不暴露创建逻辑)
-------------------------------------------------------------------------------------------
2> 例子:
    统一接口创建不同"形状接口"实现类的对象
-------------------------------------------------------------------------------------------
3> 最终实现:
    1> 一个抽象工厂类,可以派生出多个具体工厂类(一致)。 
    2> 一个抽象产品类,可以派生出多个具体产品类。   
    3> 一个具体工厂类,只能创建一个具体产品类的实例。
-------------------------------------------------------------------------------------------
注:
    1> 工厂类和抽象工厂类区别:
        1) 抽象工厂模式,就是将多个工厂类又抽象出来一个超级工厂类(当然多个工厂类是相关联的)
        2) 工厂模式:"圆"有一个工厂类,"矩形"有一个工厂类,"正方形"有一个工厂类
    2> 解决简单工厂模式问题:创建一个工厂接口和创建多个工厂实现类
    3> 简单工厂模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行
        修改,这违背了闭包原则。
;