7.4 符合实际的代码
十分钟后。小菜第三份代码。
结构图
![](https://epubservercos.yuewen.com/13207C/21821972708814406/epubprivate/OEBPS/Images/Figure-P84_78225.jpg?sign=1739552177-F1Sp1pPTUp4ZglXnsdfa710gxADCiBe2-0-4f7bcbcca3998457da3c2dc1deb9724f)
代理接口如下
interface IGiveGift { void GiveDolls(); void GiveFlowers(); void GiveChocolate(); }
追求者类如下
![](https://epubservercos.yuewen.com/13207C/21821972708814406/epubprivate/OEBPS/Images/Figure-P85_78227.jpg?sign=1739552177-Opfmk2hOEjM1dEnS1bMK4blf7DTX4Gwv-0-639b4b950e3496695b36b7fb2aba99a0)
代理类如下
![](https://epubservercos.yuewen.com/13207C/21821972708814406/epubprivate/OEBPS/Images/Figure-P85_78228.jpg?sign=1739552177-NMd2gi5iHpJCUapaOT3pNKsCtQlgLT7o-0-9baf2344aad660c63aa7c40838108418)
客户端如下
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对代理模式是如何描述的。”