设计模式之适配器模式

设计模式之适配器模式

Intro

适配器模式(Adapter),将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。也被称为 Wrapper 模式。

通常这个类是外部的类,不能直接修改,所以需要做一层包装,以适配现有的接口。

Prototype

实现适配器模式,通常有这几个组件

  • Target: 一个标准模式的类型,标准化接口
  • Adaptee: 一个需要适配的类型,特殊类型
  • TargetAdapter: Adaptee 针对 Target 的适配器
public class Target
{
    public virtual void Request()
    {
        Console.WriteLine("This is a common request");
    }
}

public class Adaptee
{
    public void SpecialRequest()
    {
        Console.WriteLine("this is a special request");
    }
}

public class TargetAdapter : Target
{
    private readonly Adaptee _adaptee = new Adaptee();

    public override void Request()
    {
        _adaptee.SpecialRequest();
    }
}

More

asp.net core 中的应用实例:

之前介绍的 asp.net core 3.x 里引入了 ServiceProviderFactory,使得 .net core 可以更方便的集成第三方的依赖注入框架,这里使用了适配器模式通过 ServiceFactoryAdapter 来适配各种不同的第三方的依赖注入框架

更多内容可以参考文末的源码链接查看源码

Reference

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/weihanli/p/adapter-pattern.html