3

データをXMLとして公開するRESTAPIを構築しています。ドメインレイヤーには、APIの背後にあるサービスレイヤーと、顧客に提供するクライアントAPIの両方で使用することを目的としたドメインクラスがたくさんあります。(顧客はREST APIと直接対話するオプションがありますが、クライアントAPIは物事を単純化します)。ドメインクラスからデータ永続化ロジックを排除したいのですが、ドメインクラスがIXmlSerializableを実装して、公開および取得されるデータのシリアル化プロセスを簡素化できるかどうかを判断するのに苦労しています。 API。私は、ドメインクラスをシリアル化ロジックから解放し、代わりにシリアル化動作で装飾することを考え始めました。シリアル化を処理するオブジェクト内にドメインオブジェクトをラップします。私は物事を必要以上に複雑にしていますか?私がこれにどのように取り組むべきかについて何か考えはありますか?ありがとう!

4

1 に答える 1

5

ドメインクラスは、永続性やシリアル化ではなく、ビジネスロジックのみに関係する必要があります。

それぞれがドメインクラスの1つに対応するデータ転送オブジェクト(DTO)クラスのセットを作成する必要があります。これらのクラスには、公開することを決定したドメインクラスのプロパティのみが含まれます。これにより、ドメインクラスは、永続層またはシリアル化層を介して公開されないプロパティを持つことができます。

DTOオブジェクトのみがシリアル化および逆シリアル化されます。

次に、ドメインオブジェクトとDTOオブジェクトの間で変換する静的な「変換」メソッドを作成すると便利な場合があります。

于 2009-12-04T04:19:28.393 に答える