【问题标题】:Structure of Enterprise Web Application using JSF使用 JSF 的企业 Web 应用程序结构
【发布时间】:2012-04-24 16:23:44
【问题描述】:
我正在开发将 JSF 与 Eclipse IDE 结合使用的企业 Web 应用程序。但是我在 JSF Web 应用程序架构师方面没有经验,只是不熟悉名称类、项目、包、网页、模板页面等。是否可以像以下这样命名包:
CompanyName.systemName.controller(里面会有控制器)
CompanyName.systemName.Model(里面会有托管的bean和其他东西)
甚至如何为我的项目选择最佳结构(文件夹、类、包、网页、模板页面等的架构)。如果有人有想法?如果有示例项目,我会很高兴。
谢谢
【问题讨论】:
标签:
eclipse
jsf
jakarta-ee
architecture
web
【解决方案1】:
这些都是很好的包名。有些人喜欢按目的对包进行分组:
org.mycompany.myapp.controller
org.mycompany.myapp.dao
org.mycompany.myapp.service
etc...
对于较大的应用程序,我喜欢按功能对它们进行分组:
org.mycompany.myapp.billing
org.mycompany.myapp.signup
org.mycompany.myapp.webservices
etc...
至于文件夹结构,一个好的 Maven 原型会很有帮助。这是一个网页,它很好地介绍了使用 Maven 原型设置几种类型的 JSF 项目:http://www.javaserverfaces.org/get-started
【解决方案2】:
如果您从架构的角度来看,您的 JSF 应用程序应该非常像任何其他架构良好的 Java-Web 应用程序一样。
对于包装,我喜欢先按功能(如核心、gui)进行分类,然后按业务单元级别。
类似:
com.comp.core.db.beans
com.comp.extension.ui.extension //If my application is going to give extension point for others to implement, extend the functionality.
com.comp.core.ui.controller
在类似的注释页面上,配置文件可以分成单独的逻辑单元。