设计模式之适配器模式

admin 2个月前 (07-24) 科技 29 0

设计模式之适配器模式

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://github.com/WeihanLi/DesignPatterns/tree/master/StructurePattern/AdapterPattern
  • https://github.com/dotnet/extensions/blob/v3.1.6/src/Hosting/Hosting/src/Internal/ServiceFactoryAdapter.cs
  • https://github.com/dotnet/extensions/blob/v3.1.6/src/Hosting/Hosting/src/HostBuilder.cs
,

Allbet注册

欢迎进入Allbet注册(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

Allbet声明:该文看法仅代表作者自己,与本平台无关。转载请注明:设计模式之适配器模式

网友评论

  • (*)

最新评论

文章归档

站点信息

  • 文章总数:453
  • 页面总数:0
  • 分类总数:8
  • 标签总数:815
  • 评论总数:116
  • 浏览总数:3896