文档章节

静态代理设计模式

来来来过来挨到我坐
 来来来过来挨到我坐
发布于 2016/01/27 11:29
字数 277
阅读 3
收藏 0

代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。

代理模式说白了就是“真是对象”的代表,在访问对象时引用一定程度的间接性,因为这种间接性可以附加多种用途。

package com.main;

//静态代理设计模式
public class StaticProxy {

 public static void main(String[] args) {
  Customer customer = new Customer();
  Proxy proxy = new Proxy(customer);
  proxy.shopping();
 }

}

// 主题。被代理人接口(被代理的业务)
interface Subject {
 public void shopping();
}

// 被代理人
class Customer implements Subject {
 private String name;

 @Override
 public void shopping() {
  // 在买房子之前要货比三家,做些准备工作,利用代理模式来实现
  System.out.println("准备买一套房子");
 }

}

// 代理人
class Proxy implements Subject {
 private Subject target;// 被代理人

 public Proxy(Subject target) {
  this.target = target;
 }

 // 实现接口的方法
 @Override
 public void shopping() {
  // 代理之前要做的事情
  System.out.println("代理之前要做的事情:选择一套符合要求的房子");
  target.shopping();// 被代理人真正的业务
  // 代理之后要做的事情
  System.out.println("代理之后要做的事情:付款交接,客户反馈");
 }

}


© 著作权归作者所有

共有 人打赏支持
上一篇: 设配器设计模式
下一篇: 简单工厂模式
来来来过来挨到我坐
粉丝 2
博文 13
码字总数 7493
作品 0
程序员
私信 提问
【设计模式笔记】(十六)- 代理模式

一、简述 代理模式(Proxy Pattern),为其他对象提供一个代理,并由代理对象控制原有对象的引用;也称为委托模式。 其实代理模式无论是在日常开发还是设计模式中,基本随处可见,中介者模式中...

MrTrying
06/24
0
0
代理模式(Proxy Pattern):动态代理 - 最易懂的设计模式解析

前言 今天我来全面总结开发中最常用的设计模式 - 代理模式中的动态代理模式 其他设计模式介绍 1分钟全面了解“设计模式” 单例模式(Singleton) - 最易懂的设计模式解析 简单工厂模式(Sim...

Carson_Ho
04/09
0
0
我的Java设计模式-代理模式

写完上一篇之后有小伙伴问我有没有写过代理模式,想看看我的理解。原本我的设计模式系列是按照创建型-行为型-结构型的顺序写下去的,既然小伙伴诚心诚意了,我就大发慈悲的穿插一篇代理模式。...

Jet啟思
2017/11/29
0
0
设计模式学习笔记之-代理模式

代理模式中,客户不会直接调用目标对象而是通过一个代码对象,客户调用代理对象代理对象去调用目标对象,起到对象与对象间的隔离作用。有时候我么不想直接访问目标对象,有时候我们不能直接访...

申文波
03/05
0
0
JavaScript 中常见设计模式-代理模式

     代理模式   情景:小明追女生 A   非代理模式:小明 =花=> 女生A   代理模式:小明 =花=> 让女生A的好友B帮忙 =花=> 女生A   代理模式的特点   代理对象和本体对象具有一...

webstack前端栈
06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 有一天考拉麻麻拉肚子了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享周汇洋的单曲《Man Srae(曼斯拉之舞)》:美滋滋。。。。 手机党少年们想听歌,请使劲儿戳(这里) 我听了一下 赶紧关了, ...

小小编辑
51分钟前
17
4
oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
6
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
6
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
18
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部