Golang设计模式之代理模式
来源:互联网 发布:淘宝网开直通车的要求 编辑:程序博客网 时间:2024/05/20 10:22
1. 概述
代理模式,简单来说就是提供一个对象来控制其他对象的功能。在一些情况下,一个Object不适合直接引用目标对象,但可以通过代理对象调用目标对象,起到中介代理的作用。
相关源代码demo在Github上,可供参考!
2. 实现示例
那个简单的例子,中介代理各业主的房子。每个业主都有个卖房的函数。中介代理的相关实现如下:
//被代理的公共函数//type ProxyFuncs interface { //卖房功能 SailHouse()}type MasterBeijing struct { Name string //北京业主姓名 Location string //业主所卖房屋的位置}func (this *MasterBeijing) SailHouse() { fmt.Printf("%s sailing house at %s\n", this.Name, this.Location)}type Proxier struct { Mofbj *MasterBeijing}func (this *Proxier) SailHouse() { if this.Mofbj == nil { this.Mofbj = &MasterBeijing{} } this.Mofbj.SailHouse()}
3. 使用
m := &MasterBeijing{ Name: "Lao wang", Location: "Xi Cheng", } proxier := &Proxier{ Mofbj: m, } proxier.SailHouse()
阅读全文
0 0
- Golang设计模式之代理模式
- golang设计模式(7)代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之-代理模式
- 设计模式之 代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之代理模式
- 设计模式之-----代理模式
- 设计模式之代理模式
- 设计模式之-代理模式
- UVa11795
- Python urllib.urlretrieves 代码实例
- 你还不知道jsonp跨域,引发的安全问题的严重性?这里帮你修复。
- Going deeper with convolutions----------(GoogLeNet) 论文解读
- Rhyme/ Linux fdisk 手工分区
- Golang设计模式之代理模式
- 2017.10自考总结
- SSO单点登录三种情况的实现方式详解
- Action如何去使用session request ,application等。。。
- [树形DP] HDU 4340
- c++ 继承
- NYOJ 21-三个水杯
- 用Scrapy和Selenium+PhantomJS爬淘宝评论
- Docker基本使用命令