web-dev-qa-db-ja.com

チーム内部のサービス指向アーキテクチャーで許容可能な依存関係

サービス指向アーキテクチャーでは、サブシステムはさまざまなレベルで相互に依存できます。

  1. データベースレベル=>削除と更新(カスケード)時にサービス間でデータの整合性を強化するための外部キー、およびパフォーマンスを向上させるために他のサービスのテーブルを使用するビュー
  2. コードの再利用=> like DLL .NETプラットフォームでの参照、コードの量を減らし、DRYに従う
  3. サービスの使用=>ビジネスの集中化を実施するため。各サービスは、メッシュのようなスキームで他のサービスを使用できます
  4. UIの再利用=> UIの一貫性を促進し、UXを向上させる

これらの依存関係のどれが推奨され、どれが推奨されませんか?

6
Saeed Neamati
  1. データストアレベルの依存関係は危険です。可能であれば、詳細を抽象化するサブシステムを優先します。それ以外の場合は、データストアへのアクセスの詳細を抽象化し、サービス間の一貫性を確保するデータアクセスライブラリを作成することをお勧めします。
  2. 特に、再利用されたコードを一貫して配布するシステムがある場合は、コードの再利用を推奨する必要があります。
  3. サービスの使用は一般的に推奨されますが、ループが発生している場合は、一部のコンポーネントが本来よりも多くのことを実行していることを意味している可能性があり、そのサービスを分割することが適切である可能性があります。

「UIの再利用」が何を意味するのかわからないので、推測はしません。

1
Mike Larsen