n 層ソリューションを作成するとき、ビジネス オブジェクトを公開したくありませんが、代わりに DTO を使用します。一方で、オブジェクトを二重に定義したり、常にコピー コードを記述したりしたくはありません。
ここでの私の考えは、必要なすべてのフィールドとプロパティを含み、ロジックを含まない (状態のみ) DTO を作成することです。
次に、これらの DTO からビジネス オブジェクトを派生させ、ビジネス ロジックを使用してそれらを拡張し、DTO 基本クラスのプロパティを操作します。これらのオブジェクトは、使用される ORM (NHibernate) で永続化されるオブジェクトでもあります。
このアプローチを使用すると、サーバー側でビジネス オブジェクトを処理し、クライアントに直接渡すことができます (これらは派生しているため、ダウンキャスト可能です)。ビジネス ロジックをそのように公開して、多くのコードを節約する必要はありません。
そのアプローチは賢明だと思いますか。
よろしく、
セバスチャン