7.4 符合实际的代码
十分钟后。小菜第三份代码。
结构图
![](https://epubservercos.yuewen.com/13207C/21821972708814406/epubprivate/OEBPS/Images/Figure-P84_78225.jpg?sign=1739610284-XQ74ifAOz734U1l6jMotgWr2Zt5uv6p7-0-373959425dc333ac1f8a8b1710511dd0)
代理接口如下
interface IGiveGift { void GiveDolls(); void GiveFlowers(); void GiveChocolate(); }
追求者类如下
![](https://epubservercos.yuewen.com/13207C/21821972708814406/epubprivate/OEBPS/Images/Figure-P85_78227.jpg?sign=1739610284-fiLoX2ivttUWcbwPRT6aK7dMSlfRxmVn-0-ac6352429b8b9c011ad13bfc2bd3746b)
代理类如下
![](https://epubservercos.yuewen.com/13207C/21821972708814406/epubprivate/OEBPS/Images/Figure-P85_78228.jpg?sign=1739610284-K5o0FedoBnjbnJ5jCT5onuFD8UOvOeMs-0-7ca6ed6d798421fa47c322bff0ad3707)
客户端如下
static void Main(string[] args) { SchoolGirl jiaojiao = new SchoolGirl(); jiaojiao.Name = "李娇娇"; Proxy daili = new Proxy(jiaojiao); daili.GiveDolls(); daili.GiveFlowers(); daili.GiveChocolate(); Console.Read(); }
“这下好了,娇娇不认识追求她的人,但却可以通过代理人得到礼物。效果其实是达到了。”
“这就是代理模式。好了,我们来看看GoF对代理模式是如何描述的。”