在开发Java应用程序时,如何分离业务逻辑以便可以重用?
我继承了一个主要是Model 1的应用程序。业务逻辑位于JSP、Servlet和DAO代码中。
我想要分离业务逻辑,但我被存在的所有框架等弄糊涂了。
我正在考虑使用Hibernate和JPA来处理所有的数据库持久性。目前,所有的SQL都是手工编写的,不同的RDBMS使用不同的SQL。我的DAO将调用持久化所需的代码。
我正在考虑将Struts用于我的web层。我不理解的部分是业务逻辑。
我不希望将逻辑绑定到Web层,因为我希望在Java应用程序中重用逻辑。
我考虑过将业务逻辑放在实体类中,但这似乎不是一个好主意。
是否有一些技术或模式可以用作创建可重用业务逻辑的指导原则?
如果我不清楚,我会编辑。
谢谢。
发布于 2010-07-21 02:43:14
要将前端代码(视图)从业务逻辑(控制器)和数据(模型)中分离出来,您可以遵循MVC pattern。
您可以让控制器访问包含将在Java SE应用程序中使用的可重用业务逻辑的其他类。
有很多框架可以帮助你构建这种风格的web应用,比如Grails (使用Groovy)、Play或Roo。但是因为你说的是“企业”,所以你应该看看Spring framework和它的MVC模块。Spring提供了与Hibernate的良好集成,并允许您在web应用程序中遵循MVC模式。
发布于 2010-07-23 03:01:14
我要说的是把它分成一份。首先解决最大的问题,即在jsp页面中包含业务逻辑。您可以使用您选择的任何web MVC框架(Struts、Spring MVC、Grails都很好)来实现这一点。选择一个你最喜欢的)。
下一个问题是在控制器可以调用的单独模型层中组织业务逻辑。Spring是一个很好的DI框架,用于组织和引导应用程序。此外,Spring还支持许多web MVC框架,包括Struts、JSF等。
最后一个问题是Dao层。你提到过你想使用Hibernate/JPA。
https://stackoverflow.com/questions/3293201
复制相似问题