GOF23的一些总结(六)
来源:互联网 发布:淘宝诈骗 济宁 编辑:程序博客网 时间:2024/05/14 12:53
代理模式核心:代理核心类重复干得事情,核心功能还是由真身类来实现。为了提高数据访问的安全性和提高真身的事情处理专业程度。
代理模式的类与类的关系
功能接口
package com.dasenlin.baidu;/** * star所具有的功能 * @author Administrator * */public interface Star { void confir(); void signContract(); void bookTicket(); void sing(); void collectMoney();}
真身的功能
package com.dasenlin.baidu;public class RealStar implements Star { @Override public void confir() { System.out.println("RealStar.confir"); } @Override public void signContract() { System.out.println("RealStar.signContract"); } @Override public void bookTicket() { System.out.println("RealStar.bookTicket"); } @Override public void sing() { System.out.println("本人真正sing"); } @Override public void collectMoney() { System.out.println("RealStar.collectMoney"); }}
代理类所具有的功能、
package com.dasenlin.baidu;public class ProxyStar implements Star { private Star star; public ProxyStar(Star star) { super(); this.star = star; } @Override public void confir() { System.out.println("RealStar.confir"); } @Override public void signContract() { System.out.println("RealStar.signContract"); } @Override public void bookTicket() { System.out.println("RealStar.bookTicket"); } @Override public void sing() { star.sing();//不能调用他的隔 } @Override public void collectMoney() { System.out.println("RealStar.collectMoney"); }}
调用方式
package com.dasenlin.baidu;public class Client { /** * @param args */ public static void main(String[] args) { Star s =new RealStar(); Star st = new ProxyStar(s); st.sing(); }}
0 0
- GOF23的一些总结(六)
- GOF23的一些总结(一)
- GOF23的一些总结(二)
- GOF23的一些总结(三)
- GOF23的一些总结(四)
- GOF23的一些总结(五)
- GOF23的一些总结(七)
- GOF23的一些总结(八)
- GOF23的一些总结(九)
- GOF23的一些总结(十)
- GOF23的一些总结(十一)
- GOF23的一些总结(十二)
- GOF23的一些总结(十三)
- GOF23的一些总结(十四)
- GOF23的一些总结(十五)
- GOF23的一些总结(十六)
- GOF23的一些总结(十八)
- GOF23的一些总结(十九)
- 使用pjsip传输已经编码的视频
- vbs教程《变量使用》
- Objective-c常用的函数,常数变量
- Nodejs下MySQL数据库链接释放问题详解
- 05、一步一步学thinkjs之model增删改查
- GOF23的一些总结(六)
- IIS应用发布(三)
- Leetcode刷题记——34. Search for a Range(查找一个范围)
- 为什么很多第三方接口,都改成了基于http,直接传递json数据的方式来代替webservice?
- 在前端中什么是组件化 什么是模块化
- Xcode8.1 cocoa application中关于View Controller下设置项"Is Initial Controller"的问题
- 前端开发的模块化和组件化的定义,以及两者的关系?
- GCD-Barrier
- centos 7 yum源文件配置详解及163 yum源更换