- - PR -
業務ロジック、データソース、プレゼンテーションの関係
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-10 12:53
いつもお世話になっております。
業務ロジック、データソース、プレゼンテーションの関係について疑問がありますので、質問させていただきます。 業務ロジックとデータソース (主に RDBMS) の関係を分離するために O/R マッピングフレームワークや DAO クラスの導入という方法が存在し、かなりクールな方法で分離できることは理解しています。 業務ロジックと画面遷移 (システムの状態遷移?) を分離するために Web フレームワークやワークフローエンジンが存在し、これもそれなりにクールな方法で分離できることも理解しています。 しかし、業務ロジックの処理結果生成されるドメイン オブジェクトとプレゼンテーションの生成を分離するためのクールな方法が分かりません。 JSP に様々な機能を追加したり、 JSF が誕生したり、 Velocity の様なテンプレートエンジンが存在したり、 DTO と呼ばれるオブジェクトを導入したりしていますが、どれも O/R マッピングフレームワークのようにクールな方法で分離できているとは思えません。個人的には Cocoon のようにドキュメントに変換を加えてプレゼンテーションを生成する方法が正解に近いと思いますが… 質問は、
です。 宜しくお願いします。 |
|
投稿日時: 2004-12-10 23:16
うーん、何がクールで、何がクールでないのかが明確でないので、 uguuxpさんの考えがちょっとわからなかったのですが。。。 私の場合、ドメインオブジェクトがプレゼンテーション層に現れることが常に悪だとは 言えないかな、と思っています。 例えば、ドメインオブジェクトが大量のリストを保持するような場合、DTOのような オブジェクトにデータをコピーするのは効率面で不利なになることもありますし。 結論としてはどれが正解というのも無いと思うのですが、個人的にはプレゼンテーション の為の属性...例えばある入力フィールドがディスエイブルであるとか...が ドメイン層に入り込まなければ良いのかな、と思っています。 ドメイン層がプレゼンテーション層に依存するのは良くないが、 プレゼンテーション層がドメイン層に依存するのはありかなと。 |
1