zoukankan      html  css  js  c++  java
  • 【原创】设计模式面对面之适配器模式

    适配器模式

    类图:

    图1

    图2

    常用的实现方式:

    适配对象

    public class AdapterTarget {
    
            public AdapterTarget(){
    
            }
    
            public void Operation(){
                Console.WriteLine("原有功能不变");
            }
    
        }//end AdapterTarget
    View Code

    适配器

    public class Adapter : AdapterTarget {
    
            public Adapter(){
    
            }
    
            public void OperationNew(){
                Console.WriteLine("新增功能");
            }
    
        }//end Adapter
    View Code

    调用

     static void Main(string[] args)
            {
    
                var adapter = new Adapter.Adapter();
    
                adapter.Operation();
                adapter.OperationNew();
    
                Console.ReadLine();
    
            }
        }
    View Code

    图中没做抽象,比较简单,图1通过继承是最简单的实现方式,如果适配目标较多,可以使用图2组合的方式去做。

    使用场景:

     适配器目的就是为了不改变原有功能,扩展新功能或者更新原有功能。

    优点

    1.典型的遵守里氏替换原则

    2.增加系统稳定性

    缺点

    1.容易产生冗余代码

    2.适配器随着适配目标的增加而增加,违背了开闭原则

    适配器要根据业务需求去拆分成多个适配器,不要做万能的适配器。

  • 相关阅读:
    福利 | 简历模板大放送
    如何脱颖而出?成为优秀的人
    未来最重要的三个能力
    如何提升你的阅读能力?
    2016 Top 10 Android Library
    如何提升你的面试机会?
    推荐一些非常有用的学习网站
    谈谈学习方法
    你为什么还不够优秀?
    vue
  • 原文地址:https://www.cnblogs.com/dujq/p/7831912.html
Copyright © 2011-2022 走看看