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

    package designmode;

    interface Subject { // 整个操作的核心主题
    public void make();// 整个操作的核心功能
    }

    class RealSubject implements Subject {
    public void make() {
    System.out.println("核心主题正在操作!!!!!");
    }
    }

    class ProxySubject implements Subject {
    private Subject sub;

    // 代理主题要接收一个真实主题的操作对象
    public ProxySubject(Subject sub) {// 代理主题实为真实主题服务
    this.sub = sub;
    }

    public void prepare() {
    System.out.println("核心主题操作前的准备!");
    }

    public void make() {
    this.prepare();// 代理准备
    this.sub.make();// 代理调用真实主题开始进行
    this.destroy();// 代理扫尾
    }

    public void destroy() {
    System.out.println("核心主题操作后的收尾工作!");// destroy 销毁;
    }
    }

    public class ProxyMode {
    public static void main(String[] args) {
    Subject sub = new ProxySubject(new RealSubject());
    sub.make();// 输出:核心主题操作前的准备! 核心主题正在操作! 核心主题操作后的收尾工作!
    }// 调用代理主题操作, 由代理主题操作调用真实主题, 代理完成比真实主题更多的操作(代理设计模式)

    }

  • 相关阅读:
    nvalid bound statement (not found)
    小程序
    maven启动项目时报错
    创建Maven项目出错
    小程序的tab标签实现效果
    C# 异步
    C#中计算时间差
    linq筛选唯一
    GMap.net控件学习记录
    nodepad++ 正则 替换
  • 原文地址:https://www.cnblogs.com/Lovemeifyoudare/p/10381239.html
Copyright © 2011-2022 走看看