2010-10-05 65 views
1

我正在努力按照适当的惯例编写代码,即使它可能会增加复杂性,到目前为止我已经成功,但我注意到了我的趋势程式。正确使用Java中的Bean MVC

我的项目很小,只有少数servlet的javaee webapp遵循MVC设计,并且使用bean作为模型。我的问题是,我的豆类往往只是'一个地方粘一些东西,所以我可以得到一个体面的视图编码'。我觉得bean当然只是数据的容器,但也意味着除了单个servlet之外还有一些可移植性和有用性。

我的问题只是相对简单的代码的结果,或者我可能误用了bean的概念?

回答

2

豆类应该用于数据存储。我们正在谈论Pojo Beans。如果集合不足以处理应用程序使用的数据模型,则会创建适合需求的类。 BEAN应该被认为只是一个临时状态保存的对象,其中可能有轻量级附加功能的setter和getter。 如果您坚持像继承和多态这样的范式,那么当您的应用程序使用大量的bean进行操作时,没有任何问题。

如果应用程序在数据库上运行,Pojo Beans还会捕获应用程序的数据模型(域模型)...数据库表和bean彼此对应。这就是ORM的工作原理(及时或以其他方式坚持bean的状态)。即使没有ORM,域访问对象层也可以在许多bean的域模型化合物上运行良好。

它们也是视图呈现的最佳方式。混合他们与收藏。实现比较器。

术语“豆”开始,例如Spring框架,它仅仅是一个类,它是应用程序上下文/ Spring容器的一部分,不是的getter/setter的JavaBean都可以使用。

+0

我发现我的(pojo)豆的细节只有一两个不同。在这方面,他们正在与这种观点结合起来。我猜它有时不可避免? – JHarnach 2010-10-05 22:39:54

+0

@JHarnach,看,3个不同的豆在3个领域不同,其他10个领域有不同的事实是糟糕的设计。在这种情况下,你可以自由使用继承,childBean扩展了parentBean。当使用泛型时更容易,因为它使用多态性进行增强。只要有ArrayList 并且想要获取childBean,就创建泛型集合,而不是将类型从parentBean转换为childBean。 – lisak 2010-10-05 22:53:59