不记文档,白忙一场
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> 简单工厂模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行 修改,这违背了闭包原则。