策略模式与代理模式的比较

最近了解了一下策略模式和代理模式,发现一些比较有意思的异同点。

策略模式的组成成员:一个接口、若干个接口实现类、一个策略接口调用类。
策略模式特点:
接口:公用方法;
接口实现类:以各种方式实现接口的公用方法;
策略接口调用类:
1、成员变量为策略接口;
2、带参数构造函数,参数为策略接口,为成员变量赋值;
3、调用接口的公用方法。

代理模式的组成成员:一个接口,若干接口实现类,一个实现接口的代理类
代理模式特点:
接口:公用方法;
接口实现类之普通类:实现公用方法;
接口实现类之代理类:
1、实现接口;
2、成员变量为代理接口;
3、带参数的构造函数,参数为代理接口,为成员变量赋值;
4、调用接口的公用方法。

从上面列举的特性来看,两种模式非常相似,区别只在核心类,策略模式的
核心类如果实现接口,便成为了代理模式,而代理模式撤掉核心类的接口实现,
就成了策略模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值