C#裝飾者模式實(shí)例分析
更新時(shí)間:2014年10月12日 09:58:17 投稿:shichen2014
這篇文章主要介紹了C#裝飾者模式,是C#中比較常見的設(shè)計(jì)模式,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#裝飾者模式。分享給大家供大家參考。具體方法如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 裝飾者 { class Program { static void Main(string[] args) { ConcreteComponent con = new ConcreteComponent(); ConcreteDecoratorA a = new ConcreteDecoratorA(); a.SetComponent(con); a.Operation(); a.AddBehavior(); Console.WriteLine("============================"); ConcreteDecoratorB B = new ConcreteDecoratorB(); B.SetComponent(a); a.AddBehavior(); B.Operation(); B.AddBehavior(); } public abstract class Component { public abstract void Operation(); } abstract class Decorator : Component { private Component component; public void SetComponent(Component component) { this.component = component; } public override void Operation() { if (component != null) { component.Operation(); } } } class ConcreteDecoratorA : Decorator { public override void Operation() { base.Operation(); } public void AddBehavior() { Console.WriteLine("裝飾A類的操作!"); } } class ConcreteDecoratorB : Decorator { public override void Operation() { base.Operation(); } public void AddBehavior() { Console.WriteLine("裝飾B類的操作!"); } } public class ConcreteComponent : Component { public override void Operation() { Console.WriteLine("具體對(duì)象的操作!"); } } } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- 深入解析C#設(shè)計(jì)模式中對(duì)橋接模式的具體運(yùn)用
- 簡(jiǎn)單了解C#設(shè)計(jì)模式編程中的橋接模式
- C#設(shè)計(jì)模式編程中運(yùn)用適配器模式結(jié)構(gòu)實(shí)戰(zhàn)演練
- 解析C#設(shè)計(jì)模式編程中適配器模式的實(shí)現(xiàn)
- C#編程中使用設(shè)計(jì)模式中的原型模式的實(shí)例講解
- 深入解析C#設(shè)計(jì)模式編程中對(duì)建造者模式的運(yùn)用
- 詳解C#的設(shè)計(jì)模式編程之抽象工廠模式的應(yīng)用
- 使用設(shè)計(jì)模式中的工廠方法模式進(jìn)行C#編程的示例講解
- 實(shí)例解析C#設(shè)計(jì)模式編程中簡(jiǎn)單工廠模式的使用
- 舉例講解C#編程中對(duì)設(shè)計(jì)模式中的單例模式的運(yùn)用
- 解析C#設(shè)計(jì)模式編程中的裝飾者模式
相關(guān)文章
c#不使用windows api函數(shù)打開我的電腦和獲取電腦驅(qū)動(dòng)器信息
這篇文章主要介紹了c#不使用windows api函數(shù)打開我的電腦和電腦驅(qū)動(dòng)器信息的方法,大家參考使用2013-12-12C#中驗(yàn)證sql語句是否正確(不執(zhí)行語句)
C#中驗(yàn)證sql語句是否正確(不執(zhí)行語句),需要的朋友可以參考一下2013-03-03C#中sqlDataRead 的三種方式遍歷讀取各個(gè)字段數(shù)值的方法
這篇文章主要介紹了C#中 sqlDataRead 的三種方式遍歷讀取各個(gè)字段數(shù)值的方法,每種方法給大家介紹的都非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09C#使用TensorFlow.NET訓(xùn)練自己的數(shù)據(jù)集的方法
這篇文章主要介紹了C#使用TensorFlow.NET訓(xùn)練自己的數(shù)據(jù)集的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03C#實(shí)現(xiàn)變量交換、斐波那契數(shù)列、質(zhì)數(shù)、回文方法合集
這篇文章介紹了C#實(shí)現(xiàn)變量交換、斐波那契數(shù)列、質(zhì)數(shù)、回文的方法合集,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02