设计模式

 

设计模式

    策略模式:算法的切换


    状态模式:状态的切换,但是状态和行为相关

    命令模式:请求者和执行者解耦

    模板模式:定义骨架,变化的部分设置成抽象方法给子类实现。

    访问者模式:对象结构不变,不同访问人员不同操作。

    装饰者模式:不改变原有类的基础上,添加新功能。(加功能后类型不变)

  ps:添加的多个功能数量不定且可以有不同的组合。


    代理模式:不改变原对象的行为,控制对实际调用对象的访问权限,隐藏原对象。

  ps:接口一样,只是控制权限或加一些额外的职责或仅仅为了隐藏。

    桥接模式:抽象部分与它的实现部分分离,使它们都可以独立地变化。

  ps:双向允许多变。

    中介模式:降低多个对象和类之间的通信复杂

  ps:多对多的关系转化为一对多的关系

    群聊通讯,相互影响

    适配器模式:接口转换。

    门面模式:门面高层次的接口,使得子系统更易于使用。

  ★策略模式与状态模式
    相同:类图一样
    不同:目的不同。
    策略模式只是切换策略。
    状态模式的具体状态类或者context中必须有状态迁移和行为的联系。
    可以理解成:状态模式只是一种特殊的策略模式。

  ★策略模式与命令模式
    相同:类图一样
    不同:命令模式解耦接受者与执行者,就是说接收者设置成了抽象。

  ★策略模式与模板模式
    模板模式:侧重定制流程

 

posted @ 2018-03-25 15:27  ~风铃~  阅读(120)  评论(0编辑  收藏  举报