设计模式学习(第二十一章到第二十八章)

2019-05-13  本文已影响0人  ZalleDay

第二十一章 单例模式

单例模式状态图

使用饿汉模式的单例类是我最喜欢的实现模式(在java 中使用static final修饰),因为在java 中在类加载时,这个对象就可以创建出来,因此这样的话解决了单例的需求,有解决多线性的并发产生的问题。并且没有懒汉模式在多线程下需要判断两个if语句。

第二十二章 桥接模式

合用聚合复用原则

优点
  1. 对于继承关系而言,这是这个非常紧密的的依赖关系,父类的变化会导致子类的变化,这种关系会限制灵活性最终限制了复用性。只有稳定的依赖关系才是用继承
  2. 满足have-a的关系我们就能多角度地把他们把他们独立变化,减少他们的耦合。

第二十三章 命令模式

命令模式

第二十四章 职责链模式

职责链模式

(个人觉得有点类似于装饰者模式和状态模式,都是使用链式的结构,而装饰者模式使用这个结构来增加功能,状态模式使用这个结构解耦判断逻辑)

第二十五章 中介者模式

中介者模式

举例子:如同书中的联合馆安理会的例子,比如计算器的界面,他需要整合输入文本与算法之间的耦合问题,感觉符合迪米特原则。

第二十六章 享元模式

(个人觉得享元模式是模板方法模式的思想加上简单工厂模式的思想)

  1. 可以节约内存,使用少量的对象完成工作。
    2.对于删除对象的外包状态,可以使用少量的对象取代多组对象, 可以考虑使用享元模式。

第二十七章 解释器模式

(每次看到这个就有终结符与非终结符,会感觉只用编译原理中会使用的吧,还是不太理解这个模式)

  1. 当一个语言需要解释执行,你可以把句子表示成抽象的语法树时,你可使用解释其模式。

  2. 该模式用于表示文法规则的时候,你可以继承改变该文法,从而实现编写

第二十八章 访问者模式

访问者模式

自己的理解是是用自身的属性来确定的方法的调用,而这其中使用的接口的调用的属性传递。这个类图请注意方法名的参数。

例如,一个男人会实现接口Accept的方法,然后节后一个visitor的动作,男人会调用这个visitor接口中的属于男人的方法,此时这是自身属性男就会的确定调用的使用哪个方法,然后在方法的参数上出入男人this,实现了具体参数的嗲用。

  1. 模式作用是把数据结构和结构上的操作解耦开来

3.添加新的操作很容易,添加新的数据结构很困难。

上一篇 下一篇

猜你喜欢

热点阅读