Visitor模式

访问者模式。

场景:对于一个产品,有相对固定的子产品,子产品对于不同的情况下,有类似的处理的时候,用访问者模式相对好些。举个例子一个电脑,里面有cpu,keyboard,Indicator部件,当不同的人买的话,价格可能不一样,个人买的话cpu打9折,keyboard打95折,Indicator打9折; 当企业买的时候,cpu打7折,keyboard打8折,Indecator打6折。

类图:

在java设计中,有句话叫封装变化,就是对变化的部分进行封装起来。此例中,变化的对象就是不同的访问者,变化的内容就是折扣不一样。

我们把对象封装出来不同的访问者,具体折扣不一样,让具体访问者进行自己实现。跟策略模式有点像。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值