Sub*_*shi 2 jsf design-patterns jsf-2
我现在在我的一个应用程序中使用ZK Framework.ZK Framework支持MVC以及MVVM设计模式.现在我想用一个新项目来使用JSF.JSF是支持设计模式还是仅支持MVC?
小智 5
不,MVF设计模式不受jsf仅支持MVC支持.它仅用于桌面应用程序.JSF也称为MVC fremework.
来自http://blog.oio.de/2011/12/05/jsf-and-mvvm/:
MVVM中的第一个M代表Model,它与我们在MVC方法中使用的模型完全相同.实际上MVVM并没有取代MVC,我宁愿把它视为MVC的附加组件,所以这里没有什么新东西.
MVVM中的第一个V代表View,而且这个部分没有什么新东西.它是负责客户端表示的组件.所以我们的观点不会有任何显着的变化,因为我们将继续使用Facelets定义它们.
MVVM中的VM代表我们的客户端模型ViewModel.ViewModel绑定到Model,但它仅在客户端存在,尽管您可以随时在服务器端使用Model同步它.但更重要的是,您可以在客户端执行任何操作,而无需将回调发送到服务器.
首先,我们需要一个支持MVVM概念的下一代JSF实现.在将请求的视图传递给客户端之前,ViewModel将由尚未实现的JSF实现创建.我们的ViewModel将从构成Model的一个或多个JSF Managed Beans创建.我可以想到一组很好的类和字段级注释来告诉JSF我们模型的哪些部分应该组成客户端的ViewModel.一旦将视图传递给客户端,ViewModel将在提交表单时由客户端脚本操纵.然后,在请求处理生命周期的下一次迭代中,JSF必须处理ViewModel和Model之间的重新同步.不可否认,这可能是最棘手的部分,但我相信下一代JSF Impl会设法做到这一点;-)
节点M,V和C是最大连通图,意味着每个部分可以与每个其他部分通信.例如,如果模型更改,它可以将此更改推送到视图.如果桌面应用程序中存在多个视图表示,则尤其可见.更改一个,并实时查看其他更新.
由于Web应用程序的客户端/服务器和请求/响应性质,经典MVC不会将1:1映射到大多数Web框架.
更多信息,请访问:http://www.tutorialspoint.com/jsf/jsf_architecture.htm
| 归档时间: |
|
| 查看次数: |
1835 次 |
| 最近记录: |