PersonService
私たちはいくつかのサービスに取り組んでいInsuranceService
ますPaycheckService
。API を介してこれらのサービスにアクセスするために、コントローラーがあります。
PaycheckService
がに関する情報を必要とする状況がありますPerson
。現在、 と の間にレイヤーを使用していController
ますService
。
- PersonService から情報を取得する
- PaycheckService から情報を取得する
- 結合して結果を返します。
現時点では機能していますが、より多くのサービスが作成されるにつれて、サービス間の依存関係が増加します。これにより、この「レイヤー間」でより多くのロジック (マジック?) が発生します。
Dependency Injection と Service Locator に関する Fowler を読んでいて、役に立つかもしれません。(IoC には Unity を使用し、共有機能にはあちこちで DI を使用します)
問題は、サービスが他のサービスを消費できるようにするための優れた戦略は何かということです。
(メッセージング、インジェクション、REST、..)