代理在计算机领域是个经常被提及的名词,如nginx就常被用于webf服务的代理。那么怎么实现代理这种模式?
定义一个接口,定义要代理的执行的方法
定义一个真正执行类,实现接口定义的方法
定义代理类,实现接口定义的方法,在代理中,通过调用真正执行方法调用
以下使用go实现该模式
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 删除。