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

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

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

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

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

UML图 :



TODO 以例子来说明好处


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

  访问者模式的优点:

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

2具有优秀的扩展性

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

4灵活性

缺点

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

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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值