容桂网站制作价位,seo工具大全,wordpress页面改风格,自助网站设计平台装饰模式(Decorator Pattern)#xff1a; 动态地给一个对象增加一些额外的职责#xff0c;就增加对象功能来说#xff0c;装饰模式比生成子类实现更为灵活。 模式角色与结构#xff1a; 示例代码#xff1a; using System;
using System.Collections.Generic;
using Syste…装饰模式(Decorator Pattern) 动态地给一个对象增加一些额外的职责就增加对象功能来说装饰模式比生成子类实现更为灵活。 模式角色与结构 示例代码 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace CSharp.DesignPattern.DecoratorPattern
{class Program{static void Main(string[] args){Component component;Component componentDecorator;component new Window();componentDecorator new ScrollBarDecorator(component);componentDecorator.display();component new TextBox();componentDecorator new BlackBorderDecorator(component);componentDecorator.display();Console.ReadLine();}}// 抽象构件abstract class Component{public abstract void display();}// 具体构件class Window : Component{public override void display(){Console.WriteLine(Window...);}}class TextBox : Component{public override void display(){Console.WriteLine(TextBox...);}}// 抽象装饰类class ComponentDecorator : Component{private Component component; // 维持对抽象构件类型对象的引用public ComponentDecorator(Component component) // 注入抽象构件类型的对象{this.component component;}public override void display(){component.display();}}// 具体装饰类class ScrollBarDecorator : ComponentDecorator{public ScrollBarDecorator(Component component) : base(component){ }public override void display(){this.SetScrollBar();base.display();}public void SetScrollBar(){Console.WriteLine(Add Scroll Bar...);}}class BlackBorderDecorator : ComponentDecorator{public BlackBorderDecorator(Component component): base(component){ }public override void display(){this.SetBlackBorder();base.display();}public void SetBlackBorder(){Console.WriteLine(Add Black Border...);}}
} 转载于:https://www.cnblogs.com/thlzhf/p/3993371.html