首页 > 其他 > 详细

静态代理设计模式

时间:2019-07-22 09:58:06      阅读:89      评论:0      收藏:0      [点我收藏+]

静态代理模式,实现两个子类:代理子类、真实业务子类。

 1 package com.proxy.demo;
 2 
 3 public class SimpleProxy {
 4     public static void main(String[] args) {
 5         IMessage msg = new MessageProxy(new MessageReal());
 6         msg.send();
 7     }
 8 }
 9 
10 interface IMessage{
11     public void send();
12 }
13 class MessageReal implements IMessage{
14     public void send() {
15         System.out.println("【消息发送】www.proxy.com");
16     }
17 }
18 class MessageProxy implements IMessage{
19     private IMessage message;
20     public MessageProxy(IMessage message) {
21         this.message = message;
22     }
23     public boolean connect() {
24         System.out.println("【消息代理】进行消息通道连接");
25         return true;
26     }
27     public void send() {
28         if(connect()) {
29             this.message.send();
30             this.close();
31         }
32     }
33     public void close() {
34         System.out.println("【消息代理】消息通道连接关闭");
35     }
36 }

运行结果:

【消息代理】进行消息通道连接
【消息发送】www.proxy.com
【消息代理】消息通道连接关闭

 静态代理模式缺点:

  1.一个代理类只能为一个接口服务;

  2.客户端的接口与具体的子类产生耦合。

在实际开发中,最好引入工厂模式进行代理对象的获取。

 

静态代理设计模式

原文:https://www.cnblogs.com/sunzhongyu008/p/11223743.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!