1. 首页
  2. IT资讯

《大话设计模式》读书笔记4 装饰模式

装饰模式(Decorator):动态地给一个对象增加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。

装饰模式结构图:

《大话设计模式》读书笔记4 装饰模式

装饰模式实现代码:

abstract class Component { 	public abstract void Operation(); }  class ConcretComponent:Component { 	public override void Operation() 	{ 		Console.WriteLine("具体对象的操作"); 		 	} }  abstract class Decorator:Component { 	protected Component component; 	 	public void SetComponent(Component component) 	{ 		this.component=component; 	} 	public override void Operation() 	{ 		if(component!=null) 		{ 			component.Operation(); 		} 	} }  class ConcretDecoratorA:Decorator { 	private string addedState; 	 	public override void Operation() 	{ 		base.Operation(); 		addedState="New State"; 		Console.WriteLine("具体装饰对象A的操作"); 	} }  class ConcretDecoratorB:Decorator { 	public override void Operation() 	{ 		base.Operation(); 		AddedBehaviour(); 		Console.WriteLine("具体装饰对象B的操作"); 	} 	 	private void AddedBehaviour() 	{ 		 	} }  static void Main(string[] args) { 	ConcretComponent c=new ConcretComponent(); 	ConcretDecoratorA d1=new ConcretDecoratorA(); 	ConcretDecoratorB d2=new ConcretDecoratorB(); 	 	d1.SetComponent(c); 	d2.SetComponent(d1); 	d2.Operation(); 	 	Console.Read(); 	 }


转载于:https://www.cnblogs.com/muyangshaonian/p/9650561.html

  • 点赞
  • 收藏
  • 分享

    • 文章举报

《大话设计模式》读书笔记4 装饰模式 《大话设计模式》读书笔记4 装饰模式
weixin_34278190
发布了160 篇原创文章 · 获赞 62 · 访问量 18万+

私信 关注

原文始发于:《大话设计模式》读书笔记4 装饰模式

主题测试文章,只做测试使用。发布者:sys234,转转请注明出处:http://www.cxybcw.com/72663.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code