• 静态代理设计模式


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

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

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

  • 相关阅读:
    0827IO作业
    0927集合作业
    初学集合,以及泛型
    异常课——抛出
    Python环境变量配置
    安装Python
    MySQL多表操作
    MySQL增删改查
    Group by分组详解
    MySQL常用函数
  • 原文地址:https://www.cnblogs.com/sunzhongyu008/p/11223743.html
Copyright © 2020-2023  润新知