簡體   English   中英

模式在不同的命名空間中調用相同的對象

[英]Pattern to call same object in different namespaces

我正在用c#創建一個Web表單項目。

其中一個關鍵要求是發布到API,但是沒有一個API可用。

目前, HttpClient對象是為不同命名空間中的每個API唯一定義的,如下所示:

MyCo.Myapp.PostApi.Client1.ClientObject
MyCo.Myapp.PostApi.Client2.ClientObject

除了HttpClient之外,還存儲了端點url和mediatypes以及一些其他配置對象。

我們的想法是命名空間Client1Client2存儲在數據庫中,並可用於檢索正確API的位置,以創建對象。

以上都不是一成不變的 - 它是概念形式的 - 所以我想知道這個解決方案是否有其他替代方案我可以考慮。

任何建議表示贊賞

這似乎是抽象工廠方法的潛在候選者。 您所描述的內容聽起來很熟悉如何使用System.Data.Common連接到各種數據庫類型

var settings = GetInfoFromDatabase();
var factory = ClientObjectFactory.Create(settings);

var clientObject = factory.CreateClientObject();
clientObject.Post("");  // This could be any of the client objects.  

但是,由於您無法控制客戶端API,因此您可以讓基礎工廠執行帖子:

factory.Post(clientObject, data);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM