无废话C#设计模式的十.pdf
《无废话C#设计模式的十.pdf》由会员分享,可在线阅读,更多相关《无废话C#设计模式的十.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、无废话C#设计模式的十 3:Decorator 疯狂代码 http:/CrazyC 意图 动态地给个对象添加些额外职责就增加功能来说Decorator模式相比生成子类更为灵活 场景 在设计网络游戏武器系统时开始并没有考虑到武器强化和磨损的后策划人员说希望给游戏增加强化系统和修理系统那么我们武器类型就需要对外提供强化、磨损、修理等思路方法了发生这种改动是我们最不愿意看到按照设计原则我们希望功能扩展尽可能不要修改原来你可能会想到使用继承来实现但是策划人员需求是有武器能磨损能修理不能强化有武器能强化但是不会磨损有武器既能强化还能磨损和修理遇到这样情况继承方案可能不适合了来继承层次可能会很多 2来子类
2、数量可能会很多 由此引入装饰模式来解决这个问题装饰模式使得我们能灵活赋予类额外职责并且使得设计和继承相比更合理 举例代码 以下是引用片段:using;using.Collections.Generic;using.Text;DecoratorExample Program voidMain(args)Weaponw=Rle;w.ShowInfo;EnhanceenhancedWeapon=Enhance(w);enhancedWeapon.EnhanceAmmo;enhancedWeapon.ShowInfo;WearwornWeapon=Wear(w);wornWeapon.WearByRa
3、te(0.8);wornWeapon.ShowInfo;abstractWeapon privatedoubleammo;publicdoubleAmmo getammo;ammo=value;privatedoubleattack;publicdoubleAttack getattack;attack=value;privatedoublespeed;publicdoubleSpeed getspeed;speed=value;privatename;publicName getname;name=value;publicabstractvoidShowInfo;Rle:Weapon pub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 废话 C# 设计 模式
限制150内