/// <summary>
/// 原来的日志记录接口
/// </summary>
public interface ILogTarget
{
/// <summary>
/// 原来的写日志方法
/// </summary>
void Write(string info);
}
/// <summary>
/// 抽象写日志类
/// </summary>
public abstract class LogAdaptee
{
/// <summary>
/// 写日志
/// </summary>
public abstract void WriteLog(string info);
}
/// <summary>
/// 写文件日志记录
/// </summary>
public class FileLog:LogAdaptee
{
/// <summary>
/// 写日志到文件中
/// </summary>
public override void WriteLog(string info)
{
Console.WriteLine("记录到文本文件:"+info);
}
}
/// <summary>
/// 往数据库中写日志
/// </summary>
public class DatabaseLog:LogAdaptee
{
/// <summary>
/// 重写写日志方法
/// </summary>
public override void WriteLog(string info)
{
Console.WriteLine("记录到数据库:"+info);
}
}
/// <summary>
/// 采用新的写日志的方式,写入到数据库中
/// </summary>
public class DatabaseLogAdapter:DatabaseLog,ILogTarget
{
/// <summary>
/// 在重写ILogTarget接口中的的Write方法里面调用新的写日志的方式WriteLog
/// </summary>
public void Write(string info)
{
WriteLog(info);
}
}
/// <summary>
/// 采用新的写日志的方式,写入到文本文件
/// </summary>
public class FileLogAdapter : FileLog, ILogTarget
{
/// <summary>
/// 在重写ILogTarget接口中的的Write方法里面调用新的写日志的方式WriteLog
/// </summary>
public void Write(string info)
{
this.WriteLog(info);
}
}
/// <summary>
/// 类 适配器模式(Adapter Pattern)
/// </summary>
class Program
{
static void Main(string[] args)
{
ILogTarget dbLog = new DatabaseLogAdapter();
dbLog.Write("程序启动成功");
dbLog = new FileLogAdapter();
dbLog.Write("程序启动成功");
}
}
/// <summary>
/// 原来的日志记录接口
/// </summary>
public interface ILogTarget
{
/// <summary>
/// 原来的写日志方法
/// </summary>
void Write(string info);
}
/// <summary>
/// 抽象写日志类
/// </summary>
public abstract class LogAdaptee
{
/// <summary>
/// 写日志
/// </summary>
public abstract void WriteLog(string info);
}
/// <summary>
/// 写文件日志记录
/// </summary>
public class FileLog:LogAdaptee
{
/// <summary>
/// 写日志到文件中
/// </summary>
public override void WriteLog(string info)
{
Console.WriteLine("记录到文本文件:"+info);
}
}
/// <summary>
/// 往数据库中写日志
/// </summary>
public class DatabaseLog:LogAdaptee
{
/// <summary>
/// 重写写日志方法
/// </summary>
public override void WriteLog(string info)
{
Console.WriteLine("记录到数据库:"+info);
}
}
/// <summary>
/// 对象适配,继承ILogTarget,里面有LogAdaptee抽象日志类对象。
/// </summary>
public class LogAdapter:ILogTarget
{
/// <summary>
/// 抽象写日志类
/// </summary>
private LogAdaptee _adaptee;
public LogAdapter(LogAdaptee adaptee)
{
this._adaptee = adaptee;
}
public void Write(string info)
{
_adaptee.WriteLog(info);
}
}
/// <summary>
/// 对象适配器模式(Adapter Pattern)
/// </summary>
class Program
{
static void Main(string[] args)
{
ILogTarget dbLog = new LogAdapter(new DatabaseLog());
dbLog.Write("程序启动成功");
ILogTarget fileLog = new LogAdapter(new FileLog());
fileLog.Write("程序启动成功");
}
}
/// <summary>
/// 对象适配,继承ILogTarget,里面有LogAdaptee抽象日志类对象。
/// </summary>
public class LogAdapter:ILogTarget
{
/// <summary>
/// 抽象写日志类
/// </summary>
private LogAdaptee _adapteed;
/// <summary>
/// 抽象写日志类
/// </summary>
private LogAdaptee _adapteef;
public LogAdapter(LogAdaptee adapteed, LogAdaptee adapteef)
{
this._adapteed = adapteed;
this._adapteef = adapteef;
}
public void Write(string info)
{
_adapteed.WriteLog(info);
_adapteef.WriteLog(info);
}
}
/// <summary>
/// 对象适配器模式(Adapter Pattern)
/// </summary>
class Program
{
static void Main(string[] args)
{
//同时写日志到文件和数据库
ILogTarget dbLog = new LogAdapter(new FileLog(), new DatabaseLog());
dbLog.Write("程序启动成功");
}
}
public class DatabaseLogAdapter : DatabaseLog, FileLog, ILogTarget
{
public void Write(string info)
{
this.WriteLog(info);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有