代理模式
作者:互联网
,隐藏真实对象,用一个代理对象来对真实对象进行操作,也可以做一些其它和真是对象无关的操作
package main
import "fmt"
type Subject interface {
request()
}
type RealSubject struct {
}
func(it *RealSubject)request(){
fmt.Println("realSubject")
}
type Proxy struct {
subject Subject
}
func(it *Proxy)request(){
it.subject.request()
}
func(it *Proxy)others(){
fmt.Println("asdfzxcnwekfjn,msdnviuawefn")
}
func main(){
proxy := new(Proxy)
proxy.subject = new(RealSubject)
proxy.request()
proxy.others()
}
我没有实现在Proxy内部new一个realsubject,实际上应该这样做。可是我没有。。。
因为Go语言不能像爪洼(Java)和C11(C++)那样初始化把。可以再通过写另一个方法来初始化,或者在init方法里初始化
标签:fmt,request,代理,模式,proxy,func,RealSubject,Proxy 来源: https://www.cnblogs.com/mcmx/p/11328743.html