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

设计模式学习(1)

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

模板方法模式:

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

需要注意的几点:

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

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

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

策略模式:

定义: 

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

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

缺点:

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

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

优点:

1:便于扩展与维护。


观察者模式:

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

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

相关文章

  • 学习设计模式(1)

    一个UML类图 类之间的关系 类的继承结构表现在UML中为:泛化(generalize)与实现(realize) ...

  • 设计模式学习(1)

    模板方法模式: 一个程序的流程是不变的比如流程是A-B-C-D。但是某些流程的内容是变化的,这时候可以将变化的流程...

  • 设计模式学习(1)

    之前老是对设计模式一知半解,单独看每一行代码都能看得懂,发现别人设计的结构都非常清晰,一轮到自己,就会发现除了...

  • iOS常用设计模式

    1.为什么学习设计模式 对于设计模式,我们并不陌生。一谈起设计模式,脑海里马上就想到单例模式,委托模式,观察者模式...

  • 装饰者模式——IO流运用

    推荐博客Java设计模式学习09Java设计模式学习09Java设计模式学习09 装饰者模式还是比较难懂的。。。。...

  • 设计模式之单例模式

    单例设计模式全解析 在学习设计模式时,单例设计模式应该是学习的第一个设计模式,单例设计模式也是“公认”最简单的设计...

  • Android开发学习——Day10(单例设计模式&实战:扑克游

    学习目的 1.学习单例设计模式 2.完善并练习实战项目:扑克游戏 学习过程 了解单例设计模式,并简单运用。完善之前...

  • 模式方法

    从封装变化角度对模式分类 学习设计模式的方法: 重构获得模式Refacting to Patterns:(1)寻找...

  • 设计模式之前话一

    在进入具体的设计模式之前,我们有必要知道,设计模式是什么?为什么要学习设计模式?怎么学习设计模式?只有了解了这些问...

  • 设计模式:抽象工厂模式

    前言 来啦老铁! 笔者正在学习常见的设计模式,且将设计模式系列学习文章归入 “设计模式学习[https://www...

网友评论

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

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