タイトルからして、単純明快な質問だと思いますが、「ビジネス オブジェクトの世界」を調べてみると、ビジネス オブジェクトがどうあるべきかについて、はっきりしたことは何も分かっていないようです。従うべきベスト プラクティスや設計パターンはありますか?
「Expert C# Business Objects」という本を見つけましたが、これは理解を深めるための最良の出発点でしょうか?
タイトルからして、単純明快な質問だと思いますが、「ビジネス オブジェクトの世界」を調べてみると、ビジネス オブジェクトがどうあるべきかについて、はっきりしたことは何も分かっていないようです。従うべきベスト プラクティスや設計パターンはありますか?
「Expert C# Business Objects」という本を見つけましたが、これは理解を深めるための最良の出発点でしょうか?
ビジネス オブジェクトは、それが表すエンティティに関連付けられたビジネス動作またはデータを参照します。
アプリケーションには、アプリケーションが行うべきこと (ビジネス関連) を実行するコードと、それを実行してユーザーとやり取りすることを技術的に許可するコードがあります。たとえば、MVC パターンでは、ビジネスはモデルの仕事になります。
これはそれをよりよく説明していると思います。また、MVC パターンを見て、各レイヤーの役割を確認することもできます。それを理解すれば、何が「ビジネス オブジェクト」と見なされるかを簡単に確認できます。
ビジネス オブジェクトは、ドメイン モデルの一部の要素です。
ドメインモデルとは?ドメイン モデルは、実世界の観点からシステムが何をするかを記述します。ドメイン モデルは、要素間の論理関係と要素間の制約を記述します。
ビジネス オブジェクト、ビジネスエンティティ、または単にエンティティは、何らかの形で交換可能な用語です。ソフトウェア ソリューションが現実の世界で何を表すかを参照してclient
ください。account
documents
これにより、実装の問題を解決するためだけに存在する純粋に技術的なオブジェクトが除外されます。
これらの要素はソフトウェアの外部に存在する (存在する) ため、エンティティという用語を使用します。つまり、ソフトウェアはこれらの要素の表現です。
見る:
おそらく、具体的な例が役立つかもしれません。メニュー計画アプリケーションを作成しているとします。ここでのビジネス オブジェクトは、Menu、Ingredient、UserAccount、Invoice など、ビジネス モデルのロジックをカプセル化するオブジェクトです。
ビジネス オブジェクトではないものには、MenuForm、Database、Transaction などがあります。
ビジネス オブジェクト (BO) とデータ転送オブジェクト (DTO) の違いを 100% 理解しているわけではありません。
BOにはデータとデータを処理するコードが含まれているのに対し、DTOにはデータのみが含まれているようです?!?
つまり、1 つの BO に複数の DTO のデータを「含める」ことができますよね?
ビジネス オブジェクトは、ビジネス エンティティを表すオブジェクトであり、オプションでビジネス ロジックを含めることができます。