API 呼び出しのデータをカプセル化するために、モデル クラスと連携する REST バックエンドがあります。現時点では、同じモデル クラスを使用してデータを DB にマップしています。
API ドメインから DB ドメインへのデータのコピーを節約するため、このアプローチにはいくつかの問題があります。
- 忘れやすい API から直接 DB に設定することを許可されていないフィールドを明示的にマスクする必要があるため、セキュリティ リスクが発生します。
- API モデル クラスは、API 経由で提供されることが想定されていない DB ドメイン固有のメンバーで「汚染」されています。
- API モデルを (誤って) 変更せずに DB 層をリファクタリングすることは難しくなります。
一方、コピーするときは次のとおりです。
- (大きな) リストを返す際の問題。
- (新しい) プロパティを API ドメインから DB ドメインに、またはその逆にコピーすることを忘れがちです。
これについて何かを言うデザインルールがあるのだろうか。