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
  • 相关阅读:
    .net面试--值类型和引用类型
    Centos7下安装Docker(详细的新手装逼教程)
    C# 开源框架(整理)
    service配置文件
    kafka消息队列、环境搭建与使用(.net framework)
    消息队列
    并发、并行、同步、异步、多线程的区别
    破解studio 3T
    HM后台(二)
    HM后台(一)
  • 原文地址:https://www.cnblogs.com/chuifeng/p/1916611.html
Copyright © 2011-2022 走看看