net适配器模式简介

  介绍

这篇文章主要介绍”。net适配器模式简介”,在日常操作中,相信很多人在。net适配器模式简介问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”。净适配器模式简介”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

<>强适配器模式简介:

将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。

<>强适配器模式结构图:

 . NET适配器模式简介

<强>引入实例进行说明:

以日志记录程序为演示说明,在任何一套软件中都会有对应的日志管理模块,假如如果我们在开发软件中的日记记录采用第三方的日志组件进行日志记录,它采用的是Log.Write(“写日志“);的方式我们的程序在开发中,大量实例化日记记录对象,采用的Log.Write()方式进行日志记录,但是现在第三方的日志组件现在不免费了,需要收费了,于是我们打算使用一种新的日志管理模块,只不过它提供给我们的API接口是采用Log.WriteLog(“新的写日志的方式“);进行日志记录。这个时候问题就出现了,如何应对这种迁移的变化

<强>类适配器模式

1。原来日志的接口,采用的是写(“写日志”);方法

,,///, & lt; summary>///才能,原来的日志记录接口///才能,& lt;/summary>   public 才能;interface  ILogTarget   {才能   ,,,///,& lt; summary>   ,,,///,原来的写日志方法   ,,,///,& lt;/summary>   ,,,void 写(string 信息);   以前,,}

2。然而现在的写日志的接口,采用的是WriteLog(“写日志“),里面实现了写日志的新的方式:将日志写到文件中,数据库中

,,///, & lt; summary>///才能,抽象写日志类///才能,& lt;/summary>   public 才能;abstract  class  LogAdaptee   {才能   ,,,///,& lt; summary>   ,,,///,写日志   ,,,///,& lt;/summary>   ,,,public  abstract  void  WriteLog (string 信息);   以前,,}
,,///, & lt; summary>///才能,写文件日志记录///才能,& lt;/summary>
  public 才能;class  FileLog: LogAdaptee
  {才能
  ,,,///,& lt; summary>
  ,,,///,写日志到文件中
  ,,,///,& lt;/summary>
  ,,,public  override  void  WriteLog (string 信息)
  ,,,{
  ,,,,,Console.WriteLine(“记录到文本文件:“+信息);
  ,,,}
  以前,,} 
,,///, & lt; summary>///才能,往数据库中写日志///才能,& lt;/summary>
  public 才能;class  DatabaseLog: LogAdaptee
  {才能
  ,,,///,& lt; summary>
  ,,,///,重写写日志方法
  ,,,///,& lt;/summary>
  ,,,public  override  void  WriteLog (string 信息)
  ,,,{
  ,,,,,Console.WriteLine(“记录到数据库:“+信息);
  ,,,}
  以前,,} 

3。如何使用者两个新对象中的方式,替换原来的写日志的方式?

,,///, & lt; summary>///才能,采用新的写日志的方式,写入到数据库中///才能,& lt;/summary>   public 才能;class  DatabaseLogAdapter: DatabaseLog ILogTarget   {才能   ,,,///,& lt; summary>   ,,,///,在重写ILogTarget接口中的写的方法里面调用新的写日志的方式WriteLog   ,,,///,& lt;/summary>   ,,,public  void 写(string 信息)   ,,,{   ,,,,,WriteLog(信息);   ,,,}   ,,}///才能,& lt; summary>///才能,采用新的写日志的方式,写入到文本文件///才能,& lt;/summary>   public 才能class  FileLogAdapter :, FileLog, ILogTarget   {才能   ,,,///,& lt; summary>   ,,,///,在重写ILogTarget接口中的写的方法里面调用新的写日志的方式WriteLog   ,,,///,& lt;/summary>   ,,,public  void 写(string 信息)   ,,,{   ,,,,,this.WriteLog(信息);   ,,,}   以前,,}

4。调用依据使用的原来写日志的方法,但是确实使用的新的写日志的方式:

,,///, & lt; summary>///才能,类,适配器模式(Adapter 模式)///才能,& lt;/summary>   class 才能;程序   {才能   ,,,static  void  Main (string [], args)   ,,,{   ,,,,,ILogTarget  dbLog =, new  DatabaseLogAdapter ();   ,,,,,dbLog.Write(“程序启动成功“);   ,,,,,dbLog =, new  FileLogAdapter ();   ,,,,,dbLog.Write(“程序启动成功“);   ,,,}   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

net适配器模式简介