码迷,mamicode.com
首页 > 其他好文 > 详细

静态代理设计模式

时间:2019-07-22 09:50:25      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:nts   消息通道   span   str   工厂模式   sim   connect   nec   sys   

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

 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.客户端的接口与具体的子类产生耦合。

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

 

静态代理设计模式

标签:nts   消息通道   span   str   工厂模式   sim   connect   nec   sys   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!