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
  • 相关阅读:
    Shell编程常用
    毕设问答
    《如何高效学习》
    《如何阅读一本书》(未完)
    《牧羊少年奇幻之旅》
    2019.04月总结
    上周还是合意的,且找到了一定的遵循4.6-4.12

    错误和异常
    数据结构
  • 原文地址:https://www.cnblogs.com/chuifeng/p/1916611.html
Copyright © 2011-2022 走看看