装饰模式[写给自己]




public abstract class Log

{

public abstract void Write(string log);

}


public abstract class LogWrapper : Log

{

private Log _log;

public LogWrapper(Log log)

{

_log
= log;

}

public override void Write(string log)

{

_log.Write(log);

}

}

// 避免了 "子类复子类,子类何其多" 的错误。
//仅仅通过构造函数就将基类的属性添加到当前的类中。

 

我的理解:
类(A)想实现某个接口的一些功能,但是它懒,
自己创建对象的时候偷拿了已经实现这个接口的类(B),
方便的用了B中已经实现的方法 ,对其中的方法修修改改(装饰)就成自己的了。

 

posted on 2010-05-15 15:27  Master zhu  阅读(128)  评论(0编辑  收藏  举报

导航