装饰模式个人的一些理解
2012-12-23 22:30
316 查看
以下代码是个人对装饰模式的理解,备忘
最终运行效果图如下
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace TestApp.装饰 { public partial class 装饰2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Water water = new Water(); JiaGong jiagong = new JiaGong(); 纯净水加工厂 chunjingshui = new 纯净水加工厂(); 糖水加工厂 tangshui = new 糖水加工厂(); jiagong.SetComponent(water); chunjingshui.SetComponent(jiagong); tangshui.SetComponent(chunjingshui); tangshui.加工(); } } public class Water { public virtual void 加工() { HttpContext.Current.Response.Write("<hr/>"); HttpContext.Current.Response.Write("<br/>原始的河水,里面还有些杂质...."); } } public class JiaGong : Water { private Water _waterResouce; public void SetComponent(Water water) { _waterResouce = water; } public override void 加工() { if (_waterResouce != null) { _waterResouce.加工(); } } } public class 纯净水加工厂 : JiaGong { public override void 加工() { HttpContext.Current.Response.Write("<hr/>"); 过滤(); HttpContext.Current.Response.Write("<br/>现在变成了纯净数...."); base.加工(); } public void 过滤() { HttpContext.Current.Response.Write("<br/>河水中的杂质已过滤完毕...."); } } public class 糖水加工厂 : JiaGong { public override void 加工() { HttpContext.Current.Response.Write("<hr/>"); 加糖(); HttpContext.Current.Response.Write("<br/>糖水制作完毕...."); base.加工(); } public void 加糖() { HttpContext.Current.Response.Write("<br/>往水中加糖...."); } } }
最终运行效果图如下
相关文章推荐
- 设计模式之Builder (创建者模式)的一些个人理解(转)
- 适配器模式 和 装饰模式 个人的理解笔记
- 个人对于OO的一些理解
- 对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会【个人复习+zz】
- 对于Android的Activity启动模式的一些总结和理解
- Recyclerview的一些个人理解与使用(七)Recyclerview的嵌套与增加删除
- 关于Volatile关键字含义的一些个人理解
- andorid 中 MVP模式 个人理解与运用(原创)
- 快速理解设计模式之结构型设计模式(装饰模式)
- 对seq2seq的一些个人理解
- Retrofit使用教程(三):Retrofit与RxJava初相逢(个人感觉好理解一些)
- 重定向的一些小记录,个人粗略的不成熟的理解
- 谈谈个人对大数据个性化推荐的一些理解
- 关于线程和父子进程的一些个人理解
- C# 参数传递、引用传递的一些个人理解
- 个人对man命令的一些理解
- 设计模式的一些个人看法
- 装饰设计模式的理解
- android应用开发存储方式之SQLite(android自带的数据库)的一些个人理解
- PDV的一些个人理解