首页 > 其他 > 详细

适配器模式

时间:2016-01-13 19:19:52      阅读:166      评论:0      收藏:0      [点我收藏+]

适配器模式就是要完成,旧系统和新系统对接。

假如你有一个旧系统,你又要开发一个新系统。你想在旧系统的基础上来做。这样你就可以省下大量的时间和金钱。那么你如何来整呢?这个解决方案就是适配器模式。

可以完成如何工作:

1、第三方类库

2、第三方API

3、第三方代码

代码实现方式:

  class Program
    {
        static void Main(string[] args)
        {
            INewQuery select = AdapterFactory.CreateAdapter();

            object o = select.Query(); 

        }
    }

    /// <summary>
    /// 适配器工厂,这个地方是用来读取配置文件,确定系统是要用XML查询,还是DB查询
    /// </summary>
    public class AdapterFactory
    {
        public static INewQuery CreateAdapter()
        {
            return (INewQuery)Activator.CreateInstance(Type.GetType(""));
        }
    }

    /// <summary>
    /// XML适配器
    /// </summary>
    public class XMLAdapter : INewQuery
    {

        /// <summary>
        /// 这个地方是要把旧的系统,包括到新系统中
        /// </summary>
        private XMLOldQuery query = new XMLOldQuery();
        public object GetList()
        {
            ///旧代码+新代码,在这里面写
            return query.Query();
        }
    }

    /// <summary>
    /// DB适配器
    /// </summary>
    public class DbAdapter : INewQuery
    {
        /// <summary>
        /// 这个地方是要把旧的系统,包括到新系统中
        /// </summary>
        private DbOldQuery query = new DbOldQuery();
        public object GetList()
        {
            ///旧代码+新代码,在这里面写
            return query.Query();
        }
    }


    /// <summary>
    /// 新查询接口
    /// </summary>
    public interface INewQuery
    {
        object Query();
    }

    /// <summary>
    /// 旧的查询接口
    /// </summary>
    public interface IOldQuery
    {
        object Query();
    }
    /// <summary>
    /// 实现XML查询
    /// </summary>
    public class XMLOldQuery : IOldQuery
    {
        public object Query()
        {
            throw new NotImplementedException();
        }
    }
    /// <summary>
    /// 实现DB查询
    /// </summary>
    public class DbOldQuery : IOldQuery
    {
        public object Query()
        {
            throw new NotImplementedException();
        }
    }

 

参考文档:

http://www.cnblogs.com/hegezhou_hot/archive/2010/12/09/1901040.html

 

适配器模式

原文:http://www.cnblogs.com/lystory/p/5127944.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!