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

初学者硕枫设计模式系列之12 代理模式一

2012-08-27 
菜鸟硕枫设计模式系列之12 代理模式一代理模式貌似是java中用途最广的设计模式之一,也是最重要的设计模式

菜鸟硕枫设计模式系列之12 代理模式一
代理模式貌似是java中用途最广的设计模式之一,也是最重要的设计模式之一。使用代理模式能够封装设计细节,甚至能够改变被代理对象的行为,也可以在被代理对象开始行为之前做一些前期的处理【权限认证,开启事务等等就可以在这个地方做】。我们先看看前面两种代理方式:兄弟代理和父子代理。代理模式也是一种结构型模式。

代理模式类图:
  
              


具体demo:
兄弟代理是指被代理对象实现了某一接口,那么可以用代理去实现这一接口,从而能够代替被代理对象完成接口行为。
Person接口:

package proxyPattern;public class Proxy2Test {public static void main(String[] args){Woman woman = new Woman("meimei");woman.Shopping();Proxy2 proxy2 = new Proxy2("proxy2");proxy2.SetWoman(woman);proxy2.Shopping();}}


说明:兄弟代理和父子代理的本质都是复写原有的行为方法,只是由于原有类实现或者没有实现接口,所以在复写策略上有不同而已。父子代理是典型的里氏代换原则的示例demo.这两种方式都是静态代理,下一讲将看到java的重要特点----反射机制的动态代理。



热点排行