• 代理模式(静态代理)


    参考:http://blog.csdn.net/chenssy/article/details/11179815

    一、代理模式需要三个角色:

    1. Subject: 抽象角色。声明真实对象和代理对象的共同接口。

    2. Proxy: 代理角色。代理对象与真实对象实现相同的接口,所以它能够在任何时刻都能够代理真实对象。代理角色内部包含有对真实对象的引用,所以她可以操作真实对象,同时也可以附加其他的操作,相当于对真实对象进行封装。

    3. RealSubject: 真实角色。它代表着真实对象,是我们最终要引用的对象。

    二、举例:

    1. Subject

    1 package com.tgb.proxy;
    2 
    3 public interface UserMgr {
    4 
    5     void addUser();
    6     void delUser();
    7     
    8 }

    2. Proxy

     1 package com.tgb.proxy;
     2 
     3 public class UserMgrProxy implements UserMgr {
     4 
     5     private UserMgrImpl userMgrImpl = new UserMgrImpl();
     6 
     7     @Override
     8     public void addUser() {
     9         userMgrImpl.addUser();
    10     }
    11 
    12     @Override
    13     public void delUser() {
    14         userMgrImpl.delUser();
    15     }
    16 
    17 }

    3. RealSubject

     1 package com.tgb.proxy;
     2 
     3 public class UserMgrImpl implements UserMgr {
     4 
     5     @Override
     6     public void addUser() {
     7         System.out.println("添加用户....");
     8     }
     9 
    10     @Override
    11     public void delUser() {
    12         System.out.println("删除用户.....");
    13     }
    14 
    15 }

    测试类:

     1 package com.tgb.proxy;
     2 
     3 public class UserMgrMain {
     4     
     5     public static void main(String[] args){
     6         
     7         UserMgr userMgr = new UserMgrProxy();
     8         
     9         userMgr.addUser();
    10         
    11         userMgr.delUser();
    12         
    13     }
    14     
    15 }

    结果:

    添加用户....
    删除用户.....
  • 相关阅读:
    第十六周个人作业
    小组作业
    第十五周个人作业
    本周个人总结
    产品计划会议
    本周个人总结
    排球计分程序
    JProfiler入门
    (转)MMOGS服务器架构设计
    (转)游戏服务器开发需要学习的技术
  • 原文地址:https://www.cnblogs.com/jiangyi-uestc/p/5754658.html
Copyright © 2020-2023  润新知