代理模式

落爺英雄遲暮 提交于 2019-11-26 17:14:48

 

,隐藏真实对象,用一个代理对象来对真实对象进行操作,也可以做一些其它和真是对象无关的操作

package mainimport "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方法里初始化
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!