首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

装饰模式(Decorator)跟 访问者(Visitor)有何异同

2013-01-02 
装饰模式(Decorator)和 访问者(Visitor)有何异同我装饰模式(Decorator)和 访问者(Visitor)都为了添加功能

装饰模式(Decorator)和 访问者(Visitor)有何异同
我装饰模式(Decorator)和 访问者(Visitor)都为了添加功能

但是它们的区别在哪里???   什么情况下用哪个???
[解决办法]
模式的使用,主要看上下文和使用场景。
装饰,适用于在主干功能基础上,添加一点而外的功能,这些额外的功能可能有很多种;
访问者,类似于C语言中的钩子函数的作用,想A对象中注入一个钩子对象B,A在必要的时候,通过B向外反馈一些信息。
[解决办法]
结构型模式和行为型模式~
[解决办法]
装饰模式添加的是属性,Visitor添加的是行为
[解决办法]
装饰者模式主要是对象需要用其他的对象来装饰,实际上就是组合。
访问者模式主要是访问某些对象。重在对象和行为的抽象。

热点排行