对应用程序常见的操作使用commonBean是正确的/最佳实践吗?在我的例子中,这将是一个注销函数,用于清除会话bean的记录值。
我的一位同事告诉我,每个视图应该只使用一个控制器bean,但是在多个bean中复制相同的方法似乎是一种浪费。
发布于 2012-08-28 19:31:52
您的同事将视图和控制器的分离称为纯MVC模式中的松散定义原则。JSF应用程序中的托管Bean非常适合扮演控制器的角色,然而,由于您所述的原因,这不应被视为一条硬性规则。
我引用了《企业应用架构模式》中的Martin Fowler:
正如我所说的,
的价值在于它的两个分离。其中,表示和模型的分离是软件中最重要的设计原则之一,只有在模型没有实际行为的非常简单的系统中,你才不应该遵循这一原则。一旦你得到了一些非可视化的逻辑,你就应该应用分离。不幸的是,许多UI框架让它变得很困难,而那些没有做到这一点的框架通常是不加区分地教授的。
视图和控制器的分离是不太重要的,所以我建议只有在它真正有用的时候才去做。对于富客户端系统,这种情况几乎不会发生,尽管在分离了控制器的Web前端中很常见。这里的大多数Web设计模式都是基于这个原则的。
基本上,Fowler指出,将视图绑定到控制器不如将模型绑定到视图那么重要,因此,如果这样做有帮助,跨视图使用控制器或每个视图使用多个控制器肯定是可以接受的。
https://stackoverflow.com/questions/12157711
复制相似问题