首页 > 其他 > 详细

设计模式之:访问者模式

时间:2017-02-25 12:07:40      阅读:100      评论:0      收藏:0      [点我收藏+]

介绍

   

情景假设

       假设有两兄弟同时乔迁新居,按照南方风俗,新居入住是件喜事,亲戚上门庆贺必不可免。这时作为两兄弟共同亲戚的A君、B君、C君三人需要分别上门拜访这两兄弟的新房。就此事而言在代码的世界里怎么体现出来呢?常规的写法:

   1.先定义三个对象代表ABC君,再分别为他们定义一个祝福动作的方法,然后输出这句祝福语,这三位的基本动作算是定义完了。

   2.而作为主家,收到亲戚祝福回个红包也是很正常的嘛。so,再定义两个主家对象和一个发红包的动作方法,这个方法接受一个参数,来代表红包是要发给谁的。

 定义完这些对象之后,还有几个问题没解决。首先主家并不知道会有几个亲戚来,也不知道来的亲戚会有谁。而ABC君也需要分别拜访这两兄弟,当定义完这些对象之后,如何来保证这些动作能顺利完成?在现实世界中,这些问题都很好解决,亲戚只需计划好时间分别上门拜访即可;主家也只需备好红包,门前守候即可,待到相遇时动作都可瞬间完成。但程序是死物,你不去定义一个场景让它们执行,它永远都不会主动。

代码实例

 

设计模式之:访问者模式

原文:http://www.cnblogs.com/yaoxing27/p/6441328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!