zoukankan      html  css  js  c++  java
  • 适配者模式

    适配者模式:在调用的接口已经确定,提供的接口也已经确定,但有写地方不匹配,就需要适配者模式来处理匹配,一般用在后期代码维护

    主方法

    namespace 适配模式
    {
        class Program
        {
            static void Main(string[] args)
            {
                ISqlHelper s1 = new Sql();
                s1.Add();
                s1.Delete();
                s1.Update();
                s1.Search();
    
                ISqlHelper s2 = new AdapterLucene();
                s2.Add();
                s2.Delete();
                s2.Update();
                s2.Search();
    
                Console.ReadKey();
            }
        }
    }

    ISqlHelper接口

    public interface ISqlHelper
        {
            void Add();
            void Delete();
            void Update();
            void Search();
        }

    sql类

        public class Sql:ISqlHelper
        {
            public void Add()
            {
                Console.WriteLine("sql增加");
            }
    
            public void Delete()
            {
                Console.WriteLine("sql删除");
            }
    
            public void Update()
            {
                Console.WriteLine("sql修改");
            }
    
            public void Search()
            {
                Console.WriteLine("sql查询");
            }
        }

    Lucene类

        /// <summary>
        /// 全表索引插件,没有更新方法
        /// </summary>
        public class Lucene
        {
            public void Add()
            {
                Console.WriteLine("Lucene增加");
            }
    
            public void Delete()
            {
                Console.WriteLine("Lucene删除");
            }
    
            public void Search()
            {
                Console.WriteLine("Lucene查询");
            }
        }

    Lucene适配类

        /// <summary>
        /// 适配者模式:在调用的接口已经确定,提供的接口也已经确定,但有写地方不匹配
        /// 就需要适配者模式来处理匹配,一般用在后期代码维护
        /// </summary>
        public class AdapterLucene:Lucene,ISqlHelper
        {
            /// <summary>
            /// sql接口需要增删改查接口,但全表索引只有增、删、查接口,我就做一个适配类来处理不匹配
            /// </summary>
            public void Update()
            {
                base.Delete();
                base.Add();
            }
        }
  • 相关阅读:
    JavaScript之DOM总结
    图书馆管理系统——模板建立
    JavaScript阶段总结(二)
    JavaScript阶段总结(一)
    机房重构反思之视图
    web服务代理
    若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误
    ”/”应用程序中的服务器错误
    无法显示您正在查找的页面,因为使用了无效的方法(http谓词)。
    hibernate树
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/7073783.html
Copyright © 2011-2022 走看看