静态代理模式(简单代理模式)和策略模式的区别

简单代理模式与策略模式在功能上的很大的区别是: 

简单代理模式中,代理类知道被代理类的行为,因为代理类与被代理类实现的是同一个接口,因此代理类与被代理类的结构是相同的; 

而策略模式中,策略容器并不知道内部策略的详细信息,因为容器并没有实现与内部策略相同的接口,即容器与内部策略只是简单的组合关系,容器只是将内部策略的行为抽取出来,进行了统一的实现。

两者得实现方式都类似,即代理模式中的代理类中实现和策略模式中的策略容器中的实现类似,都是通过多态的方式将具体的被代理类/具体的策略类当参数传入。

猜你喜欢

转载自my.oschina.net/u/3605441/blog/1627179