Json応答を送信する必要があります。私はjacksonライブラリを使用してクラスをjsonに変換します。コアJavaクラスがあり、json応答を作成するためにさらにフィールドを追加する必要があります。2つのアイデアがありました。
2つの方法に関する懸念は次のとおりです。
このためのデザインパターンを教えてください
私はこの問題によく苦労していました。しかし幸いなことに、それは明確に定義された答えを持っています:あなたの2番目のオプションで行き、そしてただ先に進んで別のクラスを作ってください。
あなたは自分自身を繰り返すことを恐れているので、これはあまり明白ではないようです。ただし、別のDTOを持つことはnotコードを繰り返すことです。これは、これら2つのクラスの目的が完全に異なり、異なるドメインを占有しているためです。それらは類似しているように見えるかもしれませんが、これらの類似性は偶然であり、因果関係ではありません。
JSONを使用するクライアントが、フィールドが大きすぎるためにパフォーマンスを節約するためにフィールドの1つを削除する必要がある場合はどうなりますか?そのフィールドをコアオブジェクトから削除することはできないため、継承オプションを使用した場合は非常に難しい状況になります。
必要な場所にクラスを追加することを恐れないでください。最終的には物事が簡単になり、実際にコードの総量が削減されます。