黑马程序员技术交流社区

标题: 23设计模式--代理模式 [打印本页]

作者: 小麦芽    时间: 2017-4-6 16:04
标题: 23设计模式--代理模式
因为这个模式比较简单,也是我们以后用到的模式,提前讲解一下

代理设计模式是结构型设计模式,这个模式可以为其他对象提供一种代理,以控制对这个对象的访问
所谓代理,是指具有与代理源(被代理的对象),具有相同接口的类,客户端必须通过代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。

//------------书店接口---------------------------
public interface Store {
        public  void sailBook();
}

//----------------具体的书店----------------------------------
public class RealStore implements Store {

        public void sailBook() {
                System.out.println("卖书");
        }
}

//----------------代理商--------------------------------
public class ProxyStore implements Store{
        private RealStore realSubject;

        public void sailBook() {
                dazhe();
                if(realSubject == null) {
                        realSubject = new RealStore();
                }
                realSubject.sailBook();
                give();
        }
       
        public void dazhe() {
                System.out.println("打折");
        }
       
        public void give() {
                System.out.println("赠送代金券");
        }
}

//--------------------测试类-------------------------------------------
public class MainClass {
        public static void main(String[] args) {
                ProxyStore proxySubject = new ProxyStore();
                proxySubject.sailBook();
        }
}

是不是很easy,有什么问题可以给我留言!






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2