概要
JSFにおいてManaged Beanの役割が理解できていません。
現在の認識
JSFでのMVCについて
・FacesServlet(Controller):JSFフレームワークが提供してくれる機能
・XHTML(View):見た目
・Managed Bean(Model):ビジネスロジック、データオブジェクト(Viewとのデータバインド)、画面遷移
JSFではMVCはこのように分割されていると認識しています。
railsやvue.jsなどを触れていたことがあるので、私の中でそこと理解がごっちゃになっている可能性があります。
質問したいこと
まず、contollerをフレームワークが提供するから、自分で書く必要がないというのが理解できてないです。
controllerを自分で記載しないがために、contollerに書くべき画面遷移やビジネスロジックの呼び出しがModelであるManaged Beanに書かれているように見えます。
またManaged BeanはViewと1対1で結びついてしまっている。なので、ビジネスロジックは別のModelに記載しManaged Beanではビジネスロジックの呼び出しにとどまるべきだと思えます。
こう考えると、Managed Beanはデータバインドしていることもあり、ViewModelに近いのではと思えてきます。
ここまでを整理すると
・FacesServlet(Controller):何やってるかよくわかない
・XHTML(View):見た目
・Managed Bean(ViewModel):データオブジェクト、画面遷移
・Model:ビジネスロジック、データ構造
のように思えてきます。
ただ、JSFはMVCという考え方なので、私のModelに対する理解が間違っているのだと思います。
Modelって言葉でラッピングしてしまうことで、Modelの役割が何なのかが曖昧になっている気がしてます。
もし可能でしたらここらへんも含め、ご指摘いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。