懒羊学习《深入浅出设计模式》C#代码手札之装饰者模式
来源:互联网 发布:漫威和dc哪个厉害 知乎 编辑:程序博客网 时间:2024/05/15 00:47
装饰者模式:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
这一节总算好,来点喝的了,好像还能点点早点。但想想那么复杂的思想,味口也没了,好不容易费了大劲,还参照了网络一些高手们的源码,总算自己把源码凑了出来,当然省去了一些相的的类,重点是搞懂及中心类写出来也就行了。
刚开始说真的真的没搞懂,等具体的看了所有的代码才知道,原来不管是哪个类,都可以说是继承了同一个基类,也就是存在着一个“A”,后来再怎么“生”,里面总还是有一个“A”,而且这个“A”永远是个核心,说实在的,我总觉得有点像“迭代”的倒过来,也不知道这种说法正确不正确。
我们来看看具体的例子;首先存在一个“饮料”,里面有“数量”和“描述”,现在某在一个主食去继承它,然后再来一个配料又去继承它,只是不同的,配料在初始化的时候,要关联一个主食(当然如果你把主食中也去放一个关联,那么主食就可以套主食)。
关联:Beverage这是“饮料”,而主食、配料都会继续它。
Beverage beverage;
public Mocha(Beverage b)
{
this.beverage = b;
}
这样,我们在初始化对象时,首先生成一个主食,然后再生成配料时把主食放进去(装饰主食),从而生成的新产对象又是一个饮料,然而这个饮料同样又可用配料去装饰它,那样永远的循环下去,就可以随便的去添加东西了。(看不懂的看代码,我自己都说糊涂了)
源代码下载
- 懒羊学习《深入浅出设计模式》C#代码手札之装饰者模式
- 懒羊学习《深入浅出设计模式》C#代码手札之状态模式与代理模式
- 懒羊学习《深入浅出设计模式》C#代码手札之适配器模式与外观模式
- 懒羊学习《深入浅出设计模式》C#代码手札之策略模式
- 懒羊学习《深入浅出设计模式》C#代码手札之观察者模式
- 懒羊学习《深入浅出设计模式》C#代码手札之工厂模式与抽象工厂
- 懒羊学习《深入浅出设计模式》C#代码手札之单件模式
- 懒羊学习《深入浅出设计模式》C#代码手札之命令模式
- 懒羊学习《深入浅出设计模式》C#代码手札之模板方法模式
- 懒羊学习《深入浅出设计模式》C#代码手札之迭代器模式
- 懒羊学习《深入浅出设计模式》C#代码手札之组合模式
- 深入浅出设计模式之装饰者模式、工厂模式
- 深入浅出设计模式之装饰者设计模式
- C#设计模式之《装饰者模式》
- 设计模式学习之装饰者模式
- 学习:设计模式之装饰者模式
- 设计模式学习之装饰者模式
- C#设计模式之装饰者
- [美味菜谱]剁椒鱼头
- 缺少installscript引擎,请运行ISScript.msi(如果有的话)解决方案
- [美味菜谱]干煸四季豆zz
- Fineplus 0.39(QQ完美助手) 正式版
- 懒羊学习《深入浅出设计模式》C#代码手札之观察者模式
- 懒羊学习《深入浅出设计模式》C#代码手札之装饰者模式
- FpConfig(FinePlus配置程序)0.6sp2发布
- 懒羊学习《深入浅出设计模式》C#代码手札之工厂模式与抽象工厂
- Spring in Action 书的第一个例子GreetingService...疑问
- 功夫显IP 2.2 版
- 个人数据库的新锐----火狐的扩展介绍:SQLite Manager
- 一周工作随笔
- 腾讯QQ2007II Beta2传美版v2.2[2007年11月26日更新]
- error C2447: missing function header (old-style formal list?)