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();
            }
        }
  • 相关阅读:
    C开发注意事项
    Teamcenter ITK
    Teamcenter SOA开发源码: 打印对象信息
    Teamcenter服务端开发环境配置
    Teamcenter中UID和对象之间相互转化
    Teamcenter 打开数据集
    Teamcenter中SOA调用user service
    63.display:none与visibility:hidden的区别?
    60.为什么要初始化CSS样式
    58.用纯CSS创建一个三角形的原理是什么?
  • 原文地址:https://www.cnblogs.com/zhuyapeng/p/7073783.html
Copyright © 2011-2022 走看看