• 设计模式学习笔记——适配器模式(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
  • 相关阅读:
    navicat 连接Oracle 报错 ORA-12514 TNS:listener does not currently know of service requested in connect descriptor
    centos 安装配置 redis
    ubuntu安装keras
    VB类似的InputBox为MFC
    WPF颜色选择器
    窗口样式
    IP地址、端口号、子网掩码提交表单库
    添加自定义对话框,您的应用程序
    在c#中使用异步等待构建响应式UI
    一个通用对话框
  • 原文地址:https://www.cnblogs.com/chuifeng/p/1916611.html
Copyright © 2020-2023  润新知