首页 > 其他 > 详细

学习笔记——装饰器模式Decorator

时间:2014-02-27 10:05:33      阅读:382      评论:0      收藏:0      [点我收藏+]

装饰器模式,最典型的例子。

工厂新开了流水线,生产了手机外壳,蓝天白云花色。刚准备出厂,客户说还要印奶牛在上面,WTF……

时间上来不及,成本也不允许销毁了重来,怎么办?弄来一机器A,专门在蓝天白云的外壳再印奶牛。

最后通过机器A的装饰,得到了有奶牛的外壳。

bubuko.com,布布扣

装饰器中调用传递进来的Component的方法,同时再附加上新的方法,在保证外部接口一致的情况下,达到增加新行为的目的。

简单代码,仅包含父类和装饰器:

bubuko.com,布布扣
    class CComponent
    {
        public CComponent()
        {

        }

        public virtual void Operation()
        {
            Console.WriteLine("原始操作");
        }
    }
bubuko.com,布布扣
bubuko.com,布布扣
 class CDecorator:CComponent
    {
        protected CComponent _com;

        public CDecorator(CComponent com)
        {
            this._com = com;
        }

        public override void Operation()
        {
            _com.Operation();
            SelfOperation();
        }

        private void SelfOperation()
        {
            Console.WriteLine("新加操作");
        }
    }
bubuko.com,布布扣

学习笔记——装饰器模式Decorator,布布扣,bubuko.com

学习笔记——装饰器模式Decorator

原文:http://www.cnblogs.com/dev2007/p/3569276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!