美文网首页工作生活
设计模式学习(1)

设计模式学习(1)

作者: 雾妖夜战先锋 | 来源:发表于2019-07-04 23:46 被阅读0次

    模板方法模式:

                一个程序的流程是不变的比如流程是A-B-C-D。但是某些流程的内容是变化的,这时候可以将变化的流程延迟到子类中去决定。比如说人每天要做的事: 起床-吃饭-工作-吃饭-睡觉。整个流程是固定不变的,但是吃的东西和工作的事情是变化的。

    需要注意的几点:

    1:需要保证整个流程不会被改变。

    2:只将需要变化的操作延迟到子类去。

    3:将需要变化的操作只对子类开发,对其他类关闭。

    策略模式:

    定义: 

                    定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。

    假如你有一笔钱需要兑换成其他国家的货币,但是每个国家的货币汇率是不一样的。通过相应的策略类去得到兑换后的货币数目。(当你遇到需要进行多个判断时,你就要考虑是否使用策略模式了)

    缺点:

    1:你需要将所有策略暴力出来以供选择。

    2:当策略过多时会产生大量的策略类。

    优点:

    1:便于扩展与维护。


    观察者模式:

                定义一个一对多的依赖关系,当一个对象发生变化时,所有依赖他的对象都自动进行变化。

                目标对象只需要完成自己的工作,观察者自己去变化。

    相关文章

      网友评论

        本文标题:设计模式学习(1)

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