前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go设计模式之代理模式

go设计模式之代理模式

原创
作者头像
暮雨
修改2018-12-05 10:18:04
2940
修改2018-12-05 10:18:04
举报
文章被收录于专栏:云端漫步云端漫步

代理在计算机领域是个经常被提及的名词,如nginx就常被用于webf服务的代理。那么怎么实现代理这种模式?

定义一个接口,定义要代理的执行的方法

定义一个真正执行类,实现接口定义的方法

定义代理类,实现接口定义的方法,在代理中,通过调用真正执行方法调用

以下使用go实现该模式

代码语言:javascript
复制
package main

import "fmt"

type Subject interface {
	Do() string
}

type RelSubject struct {
}

func (r *RelSubject) Do() string {
	return "test"
}

type Proxy struct {
	real RelSubject
}

func (proxy *Proxy) Do() string {
  res := proxy.real.Do()
  return res
}

func main() {
	var sub Subject
	sub = &Proxy{}

	res := sub.Do()

	fmt.Println(res)
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档