美文网首页
23种设计模式

23种设计模式

作者: 月下饿狼 | 来源:发表于2020-07-23 08:45 被阅读0次

    一、创建型模式

    1.工厂模式分3种

    第一种.简单工厂模式
    第二种.工厂方法模式
    第三种.抽象工厂模式

    2.单例模式

    3.原型模式

    4.建造者模式

    二、结构型模式

    1.适配器模式

    主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。

    2.桥接模式

    桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。

    桥接(Bridge)模式的【【优点】】是:

    由于抽象与实现分离,所以扩展能力强;
    其实现细节对客户透明。

    【【缺点】】是:由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,这增加了系统的理解与设计难度。

    例如:宝宝的【抽象类和具体继承实现类】与 【颜色类的接口实现】分开, 然后通过把【颜色】聚合到包包抽象类 来实现包包的不同颜色,除了颜色,还可以支持更多的扩展。


    image.png

    3.装饰模式

    例子:手机,需要其他装饰(手机壳,贴膜),定义个手机接口,
    分别实现手机接口:分为具体的手机构件(完整版),装饰的手机(这个类聚合了手机(也就是有手机接口这个属性,后面会把具体的手机构件传入进去))
    然后对装饰类实现两个具体的装饰类 一个添加手机壳,一个添加了贴膜


    image.png

    4.外观模式

    image.png

    5.组合模式

    组合模式分为【透明式的组合模式】和【安全式的组合模式】。
    例子:大学下有很多学院,不同学院也有不同系


    image.png
    image.png

    6.享元模式

    7.代理模式

    代理模式分为三类:1. 静态代理 2. 动态代理 3. CGLIB代理


    image.png

    三、行为型模式

    image.png

    1.策略模式

    环境类聚合了策略接口,传入不同的策略实现类,就可以实现不同的策略


    image.png

    2.模板方法模式

    制造豆浆 过程
    钩子方法(改变过程的方法)
    spring ioc 应用到模板方法模式


    image.png

    3.迭代器模式

    4.委派模式

    5.观察者模式

    6.责任链模式

    例子:假如规定学生请假小于或等于 2 天,班主任可以批准;小于或等于 7 天,系主任可以批准;小于或等于 10 天,院长可以批准;其他情况不予批准;这个实例适合使用职责链模式实现。

    7.命令模式

    例子: 将军-》命令-》士兵-》执行


    image.png

    8.备忘录模式

    9.状态模式

    例子:根据状态,改变行为

    10.访问者模式

    11.中介模式

    image.png

    12.解释器模式

    image.png

    未完待续。。。。。

    相关文章

      网友评论

          本文标题:23种设计模式

          本文链接:https://www.haomeiwen.com/subject/uvhclktx.html