4、ner 14. + "'s IPhone4S which can do nothing while just a phone!"); 15. } 16.} [java] viewplaincopy1.package com.designpattern.proxy; 2. 3.public class Proxy implements Phone { 4. 5. private String owner; 6. private IPhone4S phone; 7.
5、 8. public Proxy(String owner) { 9. this.owner = owner; 10. } 11. 1. @Override 2. public void show() { 3. if (phone == null) { 4. phone = new IPhone4S(owner); 5. } 6. phone.show(); 7. 8. } 9.} [java]
6、 viewplaincopy1.package com.designpattern.proxy; 2. 3.public class Client { 4. public static void main(String[] args) { 5. Proxy proxy = new Proxy("halberd"); 6. proxy.show(); 7. } 8.} [html] viewplaincopy1.I'm halberd's IPhone4S which can
7、 do nothing while just a phone! 这样就简单的实现了代理模式,其实对于大多数结构型模式来说都一样,解决问题的思想是一样的,都是从添加中间件的方式达到一个解耦合的作用。使用代理模式,能够在不改变原来代码工商的基础上对某一对象进行额外的控制,从而更好的体现对象中的单一职责。但是对于静态代理来说,一个接口只能服务于一种类型,如果要代理方法很多的时候,则要为每一个方法定义接口。这样就要学习一下动态代理和反射机制。今天被迫当了一天工人,好累啊,先睡了,明天找时间研究一下动态代理和反射机制,然后再补充到这里.