设计模式

模式:避免重复使用问题,提出的解决方案

分类:
架构模式:指一个软件系统整体的组织结构。是从宏观角度看待问题

设计模式:是从微观的角度来看待软件开发中的问题。
创建型设计模式:关注对象创建的过程,描述如何创建一个对象
工厂方法(Factory Method)
抽象工厂(Abstract Factory)
单例模式(Singleton)
原型模式(Prototype)
建造模式(Builder)

结构型设计模式:用来处理类或对象的整体组织结构
适配器模式(Adapter)
适配器模式(Adapter)
桥接模式(Bridge)
复合模式(Composite)
装饰器模式(Decorator)
外观模式(Façade)
享元模式(FlyWeight)
代理模式(Proxy)

行为型设计模式:用来处理类和对象的交互以及职责分配关系
解释器模式(Interpreter)
模板方法模式(Template Method)
职责链模式(Chain of Responsibility)
命令模式(Command)
迭代器模式(Iterator)
中介者模式(Mediator)
备忘录模式(Memento)
观察者模式(Observer)
策略模式(Strategy)
状态模式(State)
访问者模式(Visitor)

简单工厂模式:又被称之为“静态工厂方法”模式,该模式会专门定义一个“工厂类”,然后工厂类提供一个静态方法,根据用户输入,动态决定创建什么类型的对象。

简单工厂的3种角色:
工厂类:(需要根据用户的输入,动态产生具体产品)
产品抽象类(接口):(进一步对对产品进行类的抽象或行为的抽象)
具体的产品:工厂类所产生的实例

设计模式_第1张图片

作用:将客户调用类身上的2个职责(调用对象、创建对象)进行分离,最终只剩下一个调用的职责,而将创建对象职责交给“工厂”

优点:简单工厂模式使用一个工厂类而不是直接使用new运算符来创建具体的产品,从而将创建产品对象的责任委托给工厂类,使客户可以免除直接创建产品对象的责任,而仅仅负责“消费”产品

缺点:
简单工厂,实际上是将对象的产生,强制性的交给了工厂类身上。此时,功能过于集中在工厂类本身,随着简单工厂生产的产品种类的增加,使其业务逻辑无限的增加,会使其本身越来越复杂而难于维护和扩展

简单工厂模式,只能产生同一类型(继承相同类、实现相同接口)产品,非同一类型产品,简单工厂无法使用

你可能感兴趣的:(设计模式)