博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#装饰者模式实例代码
阅读量:6167 次
发布时间:2019-06-21

本文共 1867 字,大约阅读时间需要 6 分钟。

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("具体对象的操作!");            }        }    }}

转载地址:http://iwjba.baihongyu.com/

你可能感兴趣的文章
ERP系统的优势_库存管理软件开发
查看>>
如何内行地评价公链(一)从真正的不可能三角谈起
查看>>
BigDecimal 详解
查看>>
Shell实战之函数的高级用法
查看>>
NASA制做模拟系外行星环境 发现了热木星大气不透明的原因
查看>>
Slog67_后端框架Skynet之Makefile解读
查看>>
iOS ShareSDK桥接技术
查看>>
BAT面试须知:Java开发的招聘标准
查看>>
WeUI for 小程序–使用教程
查看>>
[vuex] unknown action type
查看>>
深入浅出 Java 并发编程 (1)
查看>>
【神器】可视化创建骨架屏
查看>>
数组左边减去右边数值的最大差值
查看>>
SVN用法
查看>>
js中的promise和then
查看>>
队列组 iOS之多线程GCD(二)
查看>>
Flutter滚动, 中间显示整图, 前后露出部分图
查看>>
Flutter入坑指南:开发环境搭建
查看>>
跨Navigation跳转(类似微信)方案二
查看>>
JavaScript 复习之 对象的继承
查看>>