


| public abstract class Log { public abstract void Write(string log); } public class DatabaseLog : Log { public override void Write(string log) { //......记录到数据库中 } } public class TextFileLog : Log { public override void Write(string log) { //......记录到文本文件中 } } |

| public interface IError { void SetError(); } public interface IPriority { void SetPriority(); } public class DBErrorLog : DatabaseLog, IError { public override void Write(string log) { base.Write(log); } public void SetError() { //......功能扩展,实现了记录错误严重级别 } } public class DBPriorityLog : DatabaseLog, IPriority { public override void Write(string log) { base.Write(log); } public void SetPriority() { //......功能扩展,实现了记录优先级别 } } public class TFErrorLog : TextFileLog, IError { public override void Write(string log) { base.Write(log); } public void SetError() { //......功能扩展,实现了记录错误严重级别 } } public class TFPriorityLog : TextFileLog, IPriority { public override void Write(string log) { base.Write(log); } public void SetPriority() { //......功能扩展,实现了记录优先级别 } } |

| public class DBEPLog : DatabaseLog, IError, IPriority { public override void Write(string log) { SetError(); SetPriority(); base.Write(log); } public void SetError() { //......功能扩展,实现了记录错误严重级别 } public void SetPriority() { //......功能扩展,实现了记录优先级别 } } public class TFEPLog : DatabaseLog, IError, IPriority { public override void Write(string log) { SetError(); SetPriority(); base.Write(log); } public void SetError() { //......功能扩展,实现了记录错误严重级别 } public void SetPriority() { //......功能扩展,实现了记录优先级别 } } |