设计模式之GOF23代理模式02
静态代理
模拟经纪人与明星开演唱会
public interface Star {
 /**
  * 面谈
  */
  void confer();
  /**
   * 签合同
   */
  void signContract();
  /**
   * 唱歌
   */
  void sing();
  /**
   * 收尾款
   */
  void coleectMoney();
}
private String name;
public RealStar(String name) {
this.name = name;
}
public void confer() {
System.out.println("RealStar.confer()");
}
public void signContract() {
System.out.println("RealStar.signContract()");
}
public void sing() {
System.out.println(this.name +"唱歌");
}
public void coleectMoney() {
System.out.println("RealStar.coleectMoney()");
}
return name;
}
this.name = name;
}
private Star s;
@Override
public void confer() {
System.out.println("ProxyStar.confer()");;
}
public void signContract() {
System.out.println("ProxyStar.signContract()");
}
public void sing() {
if(s instanceof RealStar)
{
RealStar star=(RealStar)s;
star.sing();
}else {
s.sing();
}
}
public void coleectMoney() {
System.out.println("ProxyStar.coleectMoney()");
}
this.s = ps;
}
* 客户端
* @author 小帆敲代码
*
*/
public class Client {
public static void main(String[] args) {
Star real=new RealStar("Jay");
Star proxy=new ProxyStar(real);
proxy.confer();
proxy.signContract();
proxy.sing();
proxy.coleectMoney();
}

设计模式之GOF23代理模式02的更多相关文章
- 设计模式之GOF23代理模式01
		代理模式 核心作用: -通过代理,控制对对象的访问 -可以详细控制机制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做 后置处理(AOP的微观实现) 应用场景 -安全代理:屏蔽 ... 
- 设计模式之GOF23代理模式03
		动态代理 public class StarHandler implements InvocationHandler{ Star realStar; public StarHandler(Star ... 
- 设计模式之GOF23原型模式02
		利用序列化和反序列化完成深复制 ByteArrayOutputStream bos=new ByteArrayOutputStream(); ObjectOutputStream oos=new O ... 
- 设计模式之GOF23工厂模式02
		抽象工厂模式 不能添加单个产品,产品族 public interface Seat { void anmo();}class GoodSeat implements Seat { @Override ... 
- java设计模式之Proxy(代理模式)
		java设计模式之Proxy(代理模式) 2008-03-25 20:30 227人阅读 评论(0) 收藏 举报 设计模式javaauthorizationpermissionsstringclass ... 
- Java设计模式之《代理模式》及应用场景
		原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6525527.html 代理模式算是我接触较早的模式,代理就是中介,中间人.法律上也有代理, ... 
- Java设计模式:Proxy(代理)模式
		概念定义 代理模式是一种使用代理对象来执行目标对象的方法并在代理对象中增强目标对象方法的一种设计模式. 使用代理模式的原因有: 中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象, ... 
- 简介Python设计模式中的代理模式与模板方法模式编程
		简介Python设计模式中的代理模式与模板方法模式编程 这篇文章主要介绍了Python设计模式中的代理模式与模板方法模式编程,文中举了两个简单的代码片段来说明,需要的朋友可以参考下 代理模式 Prox ... 
- 设计模式系列之代理模式(Proxy Pattern)——对象的间接访问
		说明:设计模式系列文章是读刘伟所著<设计模式的艺术之道(软件开发人员内功修炼之道)>一书的阅读笔记.个人感觉这本书讲的不错,有兴趣推荐读一读.详细内容也可以看看此书作者的博客https:/ ... 
随机推荐
- 使用jquery清空input 文本框中的内容
			只需要将文本框的值置为空即可: function resetBtn(){ $("#name").val(""); } 
- 基于canvas的画板
			最近重新在看Html5&CSS3的知识,看到canvas的时候,想到了以前在学校学计算机图形学时做过的画图实验,于是想,可以基于html5和css3来做一款画板,经过1天的努力,完成了画板的一 ... 
- EOS基础全家桶(八)jungle测试网的使用
			简介 前面我们已经学习了一些EOS的基础知识了,但是在EOS主网上的很多操作(比如:抵押.赎回.买卖内存)都是需要EOS链被正式激活后才可使用,而激活EOS链还需要很多的准备操作,我打算在单独的一篇文 ... 
- 详解 Arrays类
			请关注本人博文--<详解 普通数组 -- Arrays类 与 浅克隆> Arrays类: 概述: 针对数组进行操作的工具类.它提供了对于数组的值的排序.查找等功能. 现在,本人来展示一下A ... 
- JAVA的synchronized写法
			使用关键字synchronized的写法比较多,常用的有如下几种,代码如下: public class MyService { synchronized public static void test ... 
- 3. pkg
			程序打包成可执行文件(.exe) 1.) npm install -g pkg 2.) 单个文件:pkg entrance.js ( windows: pkg -t win entrance.js ... 
- ubuntu-18.0.4 samba安装
			(1)安装 sudo apt-get -y install samba samba-common (2)创建一个用于分享的samba目录. mkdir /home/myshare (3)给创建的这个目 ... 
- Springboot:属性常量赋值以及yml配置文件语法(四)
			方式一: 注解赋值 构建javaBean:com\springboot\vo\Dog 1:@Component:注册bean到spring容器中 2:添加get set toString方法 3:使用 ... 
- C# WCF的通信模式
			wcf 通信模式一般分为三种; 1,请求/响应模式 2,单工模式 3,双工模式 一,请求/响应模式 请求/响应通信是指客户端向服务端发送消息后,服务端会向客户端发送响应.这也意味着在接收到服务的响应以 ... 
- WebApi参数检查验证FluentValidation的使用方法
			右键打开NuGet程序包管理,进入浏览,搜索 FluentValidation,点击下载 在Model文件夹添加一个Person类进行校验 校验前,using需要引入相应的命名空间方可使用,Abstr ... 
