zoukankan      html  css  js  c++  java
  • 静态代理设计模式

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

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

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

  • 相关阅读:
    华为上机练习题--求两个数组的总和
    C++设计模式之状态模式(四)
    深入理解java嵌套类和内部类
    c++实现精确计时
    Linux-中断和中断处理
    使用C#对MongoDB中的数据进行查询,改动等操作
    淘特房产CMS系统 7.5
    sass03 变量、样式导入
    sass02
    sass01
  • 原文地址:https://www.cnblogs.com/sunzhongyu008/p/11223743.html
Copyright © 2011-2022 走看看