0

から:

インフラストラクチャ サービスは、IEmailSender のようなもので、ファイル システム、レジストリ、SMTP、データベースなどの外部リソースと直接通信します。NHibernate のようなものがインフラストラクチャに表示されます。

から:

技術的な問題を抽象化するために使用されます (例: MSMQ、電子メール プロバイダーなど)

a)永続化オブジェクト(つまり、リポジトリ/DAL) もインフラストラクチャ サービスと見なされますか (上記の引用によると)?

b) 外部リソースと通信し、主要な問題ドメインの一部ではないすべてのサービス (つまり、それらを削除するとアプリケーションに影響しますが、コア ドメインの問題には影響しません) はインフラストラクチャ サービスと見なされますか?

c) 外部リソースと直接通信するサービス以外に、インフラストラクチャ サービスの傘下にある他のタイプのサービスはありますか?

ありがとうございました

4

1 に答える 1

1

使うだけ

技術的な問題を抽象化するために使用されます (例: MSMQ、電子メール プロバイダーなど)

主なルールとして。インフラストラクチャ サービスは、基盤となるテクノロジーの詳細を隠すものです。基本的には、あるテクノロジから別のテクノロジに移行するときに変更するものです (特定のメール クライアント ライブラリ、メッセージング キューの実装、データ ストレージ、ログ ルーチンなどから .net フレームワークおよびコンピュータ アーキテクチャ全体に至るまで)。

つまり、リポジトリ/dal インターフェイスは、永続的な状態からオブジェクトを構築するため、ドメインの一部です。それらの実装 (場合によってはプラグ可能) は、インフラストラクチャの一部です。

(そして申し訳ありませんが、b) と c) はより理論的な質問であり、特定のアプリケーションのみを考慮して答えることができると思います)。

于 2012-12-27T12:05:43.180 に答える