访问者模式--Android源码设计模式笔记

定义:将数据结构和数据操作分离的设计模式,是GOF23种设计模式中最复杂的一个,使用频率不高

使用场景:1对象数据结构比较稳定,但经常需要在对象结构上定义新的操作

    2需要对一个对象结构中的对象进行很多不同的且不想关的操作,需要避免这些操作污染这些类,也不希望在增加新操作时修改这些类。

参考下此博文的访问者模式 http://blog.csdn.net/chenssy/article/details/12029633

UML图 :



TODO 以例子来说明好处


总结: 在使用一个模式时,要明确它的使用场景,它解决的问题等,以此来避免滥用设计模式的现象。

  访问者模式的优点:

1各角色职责分离,符合单一职责原则。

2具有优秀的扩展性

3使得数据结构和作用于数据结构的操作解耦,使得数据集合可以独立变化。

4灵活性

缺点

1具体元素对访问者公布细节,违反了迪米特原则。

2具体元素变更时导致修改成本太大。

3违反了依赖倒置原则,为了达到区别对待而依赖了具体类,没有依赖抽象。


你可能感兴趣的:(访问者模式--Android源码设计模式笔记)