zoukankan      html  css  js  c++  java
  • 设计模式学习笔记——适配器模式(Adapter Patten)

    学习TerryLee的设计模式颇有感触,留下以下笔记以作日后参考。

    代码
    //--------------------------------------------------------
    //有些时候一些以前的代码不能修改,
    //但在新的项目中需要使用。
    //但新的项目中的接口名词不同。
    //那么旧的项目中的代码如何适配新的项目中的代码呢?
    //You can use Adapter Patten.
    //--------------------------------------------------------

    #region 不能修改的代码,但必须使用
    public interface IReader
    {
    void Read()
    { }
    }

    public class TxtReader : IReader
    {
    #region IReader Members

    public void Read()
    {
    throw new NotImplementedException();
    }

    #endregion
    }

    public class XmlReader : IReader
    {
    #region IReader Members

    public void Read()
    {
    throw new NotImplementedException();
    }

    #endregion
    }

    #endregion

    #region 必须使用的新接口

    public interface IGetWayReader
    {
    void GetWayReader();
    }

    #endregion

    #region 类适配模式

    public class GetWayTxtReader : IReader, IGetWayReader
    {

    #region IReader Members

    public void Read()
    {
    throw new NotImplementedException();
    }

    #endregion

    #region IGetWayReader Members

    public void GetWayReader()
    {
    Read();
    }

    #endregion
    }

    #endregion

    #region 对象适配模式

    public class GetWayReader : IGetWayReader
    {
    IReader Reader;

    public GetWayReader(IReader reader)
    {
    Reader
    = reader;
    }

    #region IGetWayReader Members

    public void GetWayReader()
    {
    Reader.Read();
    }

    #endregion
    }

    #endregion
  • 相关阅读:
    <mySql完全手册>2011031401
    <海量数据库解决方案>2011030801
    检索
    <mySql完全手册>2011022401
    <自己动手写操作系统>2011031601
    数据结构和算法基础
    <海量数据库解决方案>2011031001
    <自己动手写操作系统>2011032101
    Delphi方法类型
    .NET下的Login机制
  • 原文地址:https://www.cnblogs.com/chuifeng/p/1916611.html
Copyright © 2011-2022 走看看