パッケージの構造化について調査しているときに、このの投稿に出くわしました。 MVCの場合。ビジネスドメインとテクニカルドメインが何であるかについて、いくつか説明が必要です。例が役に立ちます。
コメント
- これらの用語の定義を調べてから、使用しない部分について具体的な質問をすることを検討する必要があります'わかりません。
- はい、そうしました。例は、私にとって十分に精巧ではなかった定義を調べた後に役立ちます。ありがとうございます。
回答
ビジネスドメインは、ソリューション(ヘルスケア、航空、ファイナンス、軍事、小売など)。ビジネスドメインは、システムの要件と承認基準を通知します。これは、さまざまな領域での非常に高レベルの分離を示唆している可能性があります。
たとえば、「ビジネス」ERPのソリューションを構築している場合、次のようにシステム全体に高レベルの部門を作成できます。
- セキュリティ
- 財務
- 販売
- 在庫管理
- 配送
- カスタマーサポート
- ITヘルプデスク
この種の部門はソフトウェアのトップレベルに存在すると思います。つまり、ITヘルプデスクとストックコントロールの間のクロスオーバーはおそらくあまりないので、理にかなっている可能性があります。それらを別々に保つために。
リンク先の質問で、テクニカルドメインとは、パターンやフレームワーク(ASP.NET/Ruby on rails、MVCパターンなど)など、使用されているテクノロジーを指します。これらは、アプリケーションまたは関連するアプリケーショングループの特定の設計の選択とアーキテクチャを通知する傾向があります。
テクノロジは、特定の構造を示唆または規定することが多く、通常はトップレベルではなくアプリケーションレベルで使用されます。
たとえば、「MVC」は、特定のアプリケーションのプロジェクト構造を次のように提案する場合があります。
- モデル
- ビュー
- コントローラー
- 共有/共通
- スクリプト
その構造は、複数の異なるアプリケーション間でミラーリングされる場合があります。または、他のアプリケーションが異なるアプリケーションを使用する場合もあります。最終的に、ビジネスドメインは、使用するテクノロジーの選択にある程度影響し(たとえば、「Webサイトが必要」または「Xに対してのみ支払う意思がある」)、非常に高レベルの構造に情報を提供するのに役立つ場合があります。ただし、通常は、設計やアーキテクチャに関する技術的な決定を指示するほどではありません。