论坛权限控制代理 在一个论坛中已注册用户和游客的权限不同,已注册的用户拥有看帖、发帖、修改自己的帖子等功能;而游客只能看帖,没有其他权限。使用代理模式来设计该权限管理模块。 在本实例中我们使用代理模式中的保护代理,该代理用于控制对一个对象的访问,可以给不同的用户提供不同级别的使用权限。

BBS.java

package bbsProxy;public interface BBS {public void function();
}

RealBBS.java

package bbsProxy;public class RealBBS implements BBS {@Overridepublic void function() {// TODO Auto-generated method stubSystem.err.println("您可以有以下权限:");System.err.println("看帖、发帖、修改自己的帖子");}}

Proxy.java

package bbsProxy;public class Proxy implements BBS {private RealBBS bbs=new RealBBS();//维持一个对对真实主题对象的引用private int permission=2;   //权限private String name;public Proxy(String name,int permission) {this.name=name;this.permission=permission;}@Overridepublic void function() {// TODO Auto-generated method stubif(permission>=2) {System.err.println("-----------------");System.err.println("尊敬的bbs会员:"+this.name);bbs.function();}else {System.err.println("-----------------");System.err.println("亲,"+this.name+",你只是个游客,你只能看帖哦!");}}}

Client.java

package bbsProxy;public class Client {public static void main(String[] args) {// TODO Auto-generated method stubBBS s1,s2;//游客s1=new Proxy("张三",1);   //权限为1s1.function();//会员s2=new Proxy("李四",2);    //权限为2s2.function();}}

运行截图:

代理模式---论坛权限控制代理相关推荐

  1. 趣谈设计模式 | 代理模式(Proxy):利用代理来控制对象的访问

    文章目录 案例:房屋中介 代理模式 代理模式与装饰器模式 代理模式的应用 远程代理 虚拟代理 安全代理 智能引用代理 写时拷贝代理 总结 完整代码与文档 由于代理模式相较于前面的其他设计模式来说更加简 ...

  2. 代理模式 、JDK动态代理、cglib动态代理

    代理模式就是多一个代理类出来,替原对象进行一些操作,比如我们在租房子的时候回去找中介,为什么呢? 因为你对该地区房屋的信息掌握的不够全面,希望找一个更熟悉的人去帮你做,此处的代理就是这个意思. 再如我 ...

  3. 代理模式详解(静态代理和动态代理的区别以及联系)

    原文链接:https://www.cnblogs.com/takumicx/p/9285230.html 1. 前言 代理模式可以说是生活中处处可见.比如说在携程上定火车票,携程在这里就起到了一个代理 ...

  4. 设计模式(十三) 代理模式和Java动态代理

    Proxy Pattern 1. 什么是代理模式 代理模式: 给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问. Proxy Pattern: Provide a surrogate ...

  5. 代理模式之详谈动态代理模式(Spring的AOP实现)

    java动态代理实现与原理详细分析 1.代理模式 关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 代理 ...

  6. java设计模式代理模式_Java中的代理设计模式

    java设计模式代理模式 代理对象或代理对象为另一个对象提供占位符,以控制对该对象的访问. 代理充当原始对象的轻量级版本或简化版本. 它支持与原始对象相同的操作,但可以将那些请求委托给原始对象以实现它 ...

  7. 最全介绍的代理模式---第一节-静态代理

    一.什么是代理? 其实生活中有很多例子: (1)一件产品,生产出来后,需要代理商来销售它,我们作为客户,会通过代理商来买产品,代理商就是我们的代理对象,产品为被代理对象(目标对象) (2)租房子(中介 ...

  8. 【设计模式】代理模式之JDK动态代理与CGLIb代理区别

    一.什么是代理? 代理模式是Java中常见的一种模式,英文名字叫走Proxy或者Surrogate,代理的本意是一个人代表另一个人,或者一个机构代表另一个机构,采取行动,因而,代理和现实生活中的中介有 ...

  9. 代理模式及JDK动态代理(InvocationHandler)的简单实现与分析

    在慕课网上学习了讲解代理模式的一个课程--<模式的秘密--代理模式>,感叹于David老师屌炸天的PPT,同时,老师一步一步模仿JDK源码去写code,教我们去简单实现JDK中的动态代理, ...

  10. 代理模式-Java实现-静态代理、动态代理

    目录 代理模式 静态代理 动态代理 代理模式 代理模式指的是一个类代表另一个类的功能,也就是一个类可以作为另一个类的代理. 代理模式属于结构型模式. 代理类不仅拥有真实类的功能,还可以提供一些额外的附 ...

最新文章

  1. CentOS 7 安装Boost 1.61
  2. shell里面比较大小
  3. CentOS 7.6安装 NVIDIA 独立显卡驱动(完整版)
  4. 汇编html文档,欢迎走进HTML的世界汇编.ppt
  5. java md5 16位解密_Java实现MD5(32/16位)大小写加密
  6. angular4 辅助路由
  7. 从 0 开始搭建一个技术博客,私藏干货~
  8. 2016.5.10(编写Java无脚本的JSP页面)
  9. 自编基于jQuery实现分页插件
  10. 使用gentoo做构建嵌入式linux时遇到的问题两则[原]
  11. Mac OS X:解决开机黑屏时间长(恢复秒开)
  12. 安装python版opencv遇到ModuleNotFoundError: No module named ‘skbuild‘
  13. 【备忘】尚硅谷Scala视频
  14. 2021年值得推荐的几个可视化软件
  15. 利用数据细分目标客户群
  16. 如何调整html中音乐播放器的大小,请教音乐播放器大小如何调整?
  17. 实现 ASP.NET Core WebApi 的版本化
  18. 计算机excel二进制,在Excel中实现二进制、八进制、十进制、十六进制之间的转换函数介绍...
  19. git+commitize+cz-customizable 代码 提交规范
  20. 循环中的continue与break语句

热门文章

  1. PADS——原理图的绘制
  2. 计算机主机的组成部分,计算机主机的组成是有哪些
  3. 转载:PostgreSQL 读懂执行计划
  4. 马科维茨投资组合理论总结
  5. Ps 原来排版证件照如此简单(╹ڡ╹ )
  6. Python编写时钟表turtle
  7. Word表格中文字如何居中?
  8. Colab+Google使用教程
  9. 区块链3.0 EOS和TRON
  10. 程序员在国外:我用20天在加拿大找到首份工作