代理在計算機領域是個經常被提及的名詞,如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) }