代理模式要解决问题是:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端(调用者)来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。
代理Proxy类和被代理RealSubject类都实现同一个interface,Proxy类的function()调用RealSubject的同名function()。用户就可以直接访问Proxy,而不和RealSubject类打交道。
感觉上就是客户要找房东租房,但是房东不愿意露面,全权交给中介代理。客户租房和租房后,所有需求都由中介转交房东处理,然后把处理结果返回给客户。
代码可以参加下面博客的代码
http://www.cnblogs.com/wangjq/archive/2012/07/04/2575921.html
关于动态代理,参见快速理解动态代理模式