多くのビジネスロジックを処理する新しいアプリケーションを設計しています。
時間の経過とともにこのようなシステムに潜入することが多い、さまざまなアプリケーションレイヤー間の通常の絡み合いを回避するために、最初から問題の明確な分離を実装したいと思います。大まかに言えば、私は分離したいです:
- プレゼンテーション層
- ビジネスロジックレイヤー
- データストレージと永続化レイヤー
私が最も苦労しているのは、特にビジネス層とデータ層の間で、実際にエッジで動作をきれいに実装する方法です。データレイヤーがORMオブジェクトをコアレイヤーに渡し、ビジネスロジックをORMに効果的に密結合するアプリケーションが多すぎます。
ORMオブジェクトをシリアル化された形式(JSON?)に変換してから、ビジネスレイヤーでそれを非シリアル化して、そのレイヤー内部のデータ構造にする必要がありますか?それは多くのオーバーヘッドではありませんか?
中規模アプリケーションの懸念の分離をきれいに実装するにはどうすればよいですか?何かアドバイス?
article.getId()
、article.getTimestamp()
これらのマッピングは、使用されているORMに固有ではないようです。