zoukankan      html  css  js  c++  java
  • 其他设计模式

    一、适配器模式(不是软件设计阶段考虑的,是随后维护中):

      将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于类的不匹配所造成的类的兼容问题。分为类的适配器模式、对象的适配器模式、接口的适配器模式。

    二、委派模式

      负责任务的调度和分配任务,跟代理模式很像,可以看做是特殊情况下的静态代理的全权代理,但是代理模式注重过程,而委派模式注重结果。运用该模式可以精简代码,提高代码的可读性。如boss把任务发给leader,leader再委派给各个员工。

    三、策略模式

      用它可以消除大量条件转移语句,提高算法的保密性与安全性。是指定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的修改不会影响到使用算法的客户。如商品在做活动时有优惠券优惠、返现优惠、团购优惠。在之前,随着业务量的积累,活动越来越多,在活动之前都要改代码,判断逻辑也会越来越复杂,修改风险会增高,运用了策略模式后,代码会优雅很多。

    四、模板模式

      是指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类在不改变算法结构的情况下,重新定义算法的某些步骤。

      适用场景:

        一次性实现算法中不变的部分,并将可变部分留给子类实现。

        子类中公共的方法被提取出来放到公共父类中,以提高代码的复用。

    五、装饰者模式(重构项目)

      作用是扩展原有对象,在不改变原有对象的情况下,将功能附加到对象上,提供了比继承更有弹性的替代方案。

      使用场景:

        用于扩展一个类或者给一个类添加附加职责

        动态给一个类添加功能,且这些功能可动态撤销。

      优点:
        是继承的有力补充,比继承更为灵活,在不修改对象的情况下动态给对象扩展功能,即插即用。

        通过使用不同的装饰类以及这些装饰类的排列组合,可实现不同效果。

        遵守开闭原则

    六、观察者模式(也叫发布订阅模式)

      定义了对象之间的一对多依赖,让多个观察者对象同时监听同一个主体对象,当主体对象发生变化时,它的所有依赖者都会收到通知并更新。

      

  • 相关阅读:
    一剑走四方华山论剑
    本命年之冬去春来
    time of our lives从世界杯主题曲看厚脸皮的德国人:)
    我回来啦:)
    PHP undefined index的几种解决方法
    Nginx 502 Bad Gateway错误及解决方案收集
    Nginx Cache的5种方案
    PHP中ts和nts版本 vc6和vc9编译版本的区别
    Linux 查看连接数命令
    Nginx Proxy 作图片缓存配置文件
  • 原文地址:https://www.cnblogs.com/Lena666/p/11760703.html
Copyright © 2011-2022 走看看