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.适配器随着适配目标的增加而增加,违背了开闭原则

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

  • 相关阅读:
    spring retry注解
    安装mongodb并配置
    spring boot Hello World
    Linux命令echo
    Linux vi命令
    查看linux是ubuntu还是centos
    Linux系统时间, 硬件BIOS时间的校准与同步
    MySQL优化查询 5.7版本
    战略由谁来制定
    VS2015快捷键
  • 原文地址:https://www.cnblogs.com/dujq/p/7831912.html
Copyright © 2011-2022 走看看