4

いくつかの外部 API をレイヤード アプリケーションに統合しています。通常のレイヤード アプリと同様に 3 つのレイヤーがあり、それらの API をビジネス レイヤーに接続しています。「サードパーティの API とサービス」とは、支払いゲートウェイ、郵便番号検索などを意味します。

現在、API ごとにサービス コントラクト インターフェイスを作成し、API ラッパーはインターフェイス クラスを継承します。そして、このインターフェイスはビジネス クラスのコンストラクターに注入され、ioc コンテナーはアプリケーションのエントリ ポイントでこれを解決します。

I would like to decouple those api layers with business layers and make them re-usable in other projects as well. My question is that, is there any better way or any design pattern to use with integrating outside services. I do appreciate any link to guides or code snippets.

4

2 に答える 2

3

サードパーティの API ごとにインターフェイスを作成し、これを別のプロジェクトに配置します。次に、各インターフェイスを実装するための新しいプロジェクトを作成します。

たとえば、プロジェクト構造は次のようになります

YourSolution
  ...
  -Company.Interfaces.ThridPartyAPi1
  -Company.Interfaces.ThridPartyAPi2
  -Company.Interfaces.ThridPartyAPi3

  -Company.Services.ThridPartyAPi1
  -Company.Services.ThridPartyAPi2
  -Company.Services.ThridPartyAPi3
  ...

これにより、コードが API コードから切り離され、API インターフェイスが API コードから切り離されます。つまり、テスト用に簡単にモック/スタブ化できます。

于 2013-04-05T10:56:32.210 に答える