Java23种设计模式——代理模式
来源:互联网 发布:tk域名续费 编辑:程序博客网 时间:2024/05/22 13:57
该系列文章为博主学习笔记,原文请参考参考连接
本文禁止转载,但是欢迎大家留言区留言交流[微笑]
先简单谈一谈自己对代理模式的理解:在客户端和产品类(客户端想要访问的类,我们简称产品类吧)之间创建一个新的类,这个类称之为代理类。通过代理类去访问产品类。
UML:
代码:
比如现在有这么一个需求
public interface Software { public void Method() throws Exception;}
public class Proxy implements Software { private RealSoftware realSoftware = new RealSoftware(); public void BeforeMethod() { System.out.println(new Date()); } @Override public void Method() { BeforeMethod(); try { realSoftware.Method(); SuccessMethod(); } catch (Exception e) { FailMethod(); e.printStackTrace(); } } public void SuccessMethod() { System.out.println("方法Method()调用成功"); } public void FailMethod() { System.out.println("方法Method()调用失败"); }}
public class RealSoftware implements Software { @Override public void Method() throws Exception{ System.out.println("方法Method()被调用"); }}
public class MyClass { public static void main(String[] args) { Software software=new Proxy(); try { software.Method(); } catch (Exception e) { e.printStackTrace(); } }}
输出:
Fri Nov 10 23:07:00 CST 2017
方法Method()被调用
方法Method()调用成功
使用代理模式,可以使客户端完全不用知道产品类的具体实现的细节,只需要知道代理类和需要调用的方法,具体这个方法都干了些什么,客户端不知道,这样降低了耦合。就比如说我想要去中介找房子,我只需要告诉中介我的需求,而我并不用关心中介是通过什么方法帮我找到的房子。
通过在客户端可以通过配置文件去指定具体的代理类,对代理类的更改只需要更改配置文件就行了,符合开闭原则。
微信公众号:
QQ群:580335881
阅读全文
0 0
- Java23种设计模式——代理模式
- java23种设计模式之代理模式
- Java23种设计模式——Iterator设计模式
- java23种设计模式--代理模式(proxy)
- 重学java23种设计模式(12)代理模式
- java23种设计模式 代理模式(五)
- 走穿java23种设计模式-6代理模式
- java23中设计模式之代理模式
- Java23种设计模式
- JAVA23种设计模式
- JAVA23种设计模式
- JAVA23种设计模式
- JAVA23种设计模式
- JAVA23种设计模式
- JAVA23种设计模式
- java23种设计模式
- Java23种设计模式
- java23种设计模式
- spring导入
- Vulkan规范:第八章 8
- django中foreignkey简单使用
- 链式二叉树
- Java I/O回顾
- Java23种设计模式——代理模式
- html xml 转义符号 java 转换 HTML 字符 java 特殊字符转义字符串
- 腾讯云简单配置
- 简单的python爬虫爬豆瓣图书TOP250
- 使用 Linux 脚本一键快速搭建自己的 IPsec VPN 服务器
- 笔记1 曝光 对焦 白平衡(色温)
- OmniVision 2017产品发布会要点整理
- javascript/时间
- 不吹不黑聊聊前端框架--尤雨溪Live整理