《研磨设计模式》读书笔记之:桥接模式

前言:本篇系看完《研磨设计模式》一书的个人理解和总结,可能存在不正确的地方,看时需要持怀疑态度。另外,所有的图都是示意图,示意,示。

桥接模式(Bridge):

几点解释:

  1. 桥接模式的本质在于 分离抽象与实现。
  2. Java中的接口的作用在于 封装隔离,和桥接模式不谋而合。
  3. 我们在Java中面向接口编程,所以 Java中无处不桥接。

访问者模式(Visitor):

几点解释:

  1. 访问者模式通过预留 accept(Visitor visitor) 方法,来实现在不改变类代码的情况下,给对象添加各种新功能。
  2. 调用accept方法时,发生了两次调用:accept 是第一次,之后在方法里调用了 传入的访问者对象的方法 visitXXX,并将当前对象实例作为参数传入,这是第二次调用。
  3. 访问者模式的好处在于,我们可以灵活的扩展需要的访问者对象,然后调用原有对象的accept方法并传入相应的访问者对象,就可以基于已有对象的数据实现新的功能。
  4. 这个模式的弊端在于 如果新增了 Element的实现,则访问者接口需要变化,导致所有的访问者实现都需要跟着变化。访问者实现需要操作实际的 Element对象的数据,这破坏了封装性,不恰当的操作可能会误改Element对象的数据。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章