設計模式之配接器模式
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/1622.html
標籤:C#
