结构性模式-装饰模式

来源:互联网 发布:论坛群发软件下载 编辑:程序博客网 时间:2024/05/02 04:55

         装饰模式(Decorator)用于给动态给对象添加一些额外的职责, 如果一个方法用于向文件中写入数据,希望添加一些功能在这个方法上, 要求在写前打开文件,写后关闭文件,如下:

    public interface ILog

    {

        void Write();

    }   // interface ILog

    public class FileLog : ILog

    {

        public void Write()

        {

            // Write File

        }

    }   // class FileLog

    public class Decorator

    {

        private ILog m_log;

        public Decorator(ILog log)

        {

            m_log = log;

        }

        public void Write()

        {

            // Open File

            m_log.Write();

            // Close File

        }

    }   // class Decorator

 

 

原创粉丝点击