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

     1 /**
    2 * 文件名:Proxy.java
    3 *
    4 * 版本信息:
    5 * 日期:2011-12-13
    6 * Copyright 陈亚坤 Corporation 2011
    7 * 版权所有
    8 *
    9 */
    10 package byME;
    11
    12 /**
    13 *
    14 * 项目名称:Design Pattern 类名称:Proxy 类描述:代理模式,为其他对象提供一种代理以控制对这个对象的访问。 创建人:chenyakun
    15 * 创建时间:2011-12-13 上午10:28:59 修改人:chenyakun 修改时间:2011-12-13 上午10:28:59 修改备注:
    16 *
    17 * @version
    18 *
    19 */
    20 // Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以用Proxy代理。
    21 abstract class Subject {
    22
    23 public abstract void Request();
    24 }
    25
    26 // RealSubject类,定义Proxy所代表的真实实体。
    27 class RealSubject extends Subject {
    28
    29 @Override
    30 public void Request() {
    31 System.out.println("真实的请求");
    32 }
    33
    34 }
    35
    36 // Proxy类,保存一个引用,使得代理可访问实体,并且提供一个与Subject相同的接口,这样Proxy就可以完全代替实体。
    37 class Proxy extends Subject {
    38
    39 RealSubject realSubject; //真正的实体
    40
    41 @Override
    42 public void Request() {
    43 if (realSubject == null) {
    44
    45 realSubject = new RealSubject();
    46 }
    47 realSubject.Request();
    48
    49 }
    50
    51 }
    52
    53 class ProxyClient {
    54
    55 public static void mian(String[] args) {
    56
    57 Proxy proxy = new Proxy();
    58 proxy.Request();
    59 }
    60 }
    61 /*
    62 * 代理用在什么地方:
    63 *
    64 * 远程代理,为一个对象在不同的地址空间提供局部代表。
    65 * 虚拟代理,根据需要创建开销很大的对象。通过它来存放实例化很长时间的真是对象。
    66 * 安全代理,控制真实对象的访问权限。
    67 */
  • 相关阅读:
    OO助教总结
    OO2019第四单元作业总结
    OO2019第三单元作业总结
    OO2019第二单元作业
    OO2019第一单元作业总结
    OO第一单元作业总结
    BUAA_OO_2020_Unit4_Summary
    BUAA_OO_2020_Unit3_Summary
    BUAA_OO_2020_Uint2_Summary
    闫金柱-OO第一单元总结
  • 原文地址:https://www.cnblogs.com/yakun/p/2286770.html
Copyright © 2011-2022 走看看