jee web
在这篇文章中,我将尝试讨论基于Web的项目的各种组织结构,主要是使用JSF。 开始新项目时,首先想到的是如何组织Java包? 想象一下,您开发了一个基于Web的用户和组管理系统。 很长时间以来,我使用了以下Java包结构,该结构将Bean类与模型类分开(模型类有时称为视图助手)。
我认为这是一个不错的布局,但是如果您有大型项目,这还不够好。 为什么? 尽管某些Bean和模型类属于同一类,但它们彼此之间的距离很远。 您必须在Bean和模型包之间导航并滚动IDE。 这会占用一些时间。 多年来,我意识到根据逻辑/语义含义对类进行分组可能会更好。 这就是说,模型包和类与它们所属的bean位于同一高级包中。 常用的bean和模型类可以放在一个额外的包中,例如common。
但请注意这里。 一些开发人员更喜欢炸毁bean的数量。 如果严格遵循MVC模式,则需要支持bean,控制器bean和视图接口bean。 支持bean负责组件,值绑定和事件委托。 他们将业务逻辑的执行委托给控制器bean。 控制器Bean与基础后端系统进行通信。 对概念的这种精细调整的分离提高了小型软件的可测试性,但是它导致了很多类,并且在某些情况下会使项目的结构复杂化。
网页是什么? 这里或多或少有两种相同的方法。 第一个遵循本文中介绍的方法。 有三个主要文件夹:模板,视图和部分。 模板是在(几乎)每个页面上使用的facelets模板。 视图是整页。 它们绑定到浏览器中的URL。 视图使用模板。 部分是页面上的小块。 视图包含各节(请考虑ui:include)。 结构如下:
您还可以在此处看到一个共享文件夹,其中包含一些常用的东西。 用户和组的页面包含一个公共部分dialogs.xhtml。 它位于/ sections / shared / usergroups下面。 正如我的负责人所说,我意识到,将页面和部分组合在一起时,将它们分组是一种更好的方法。 因此,下一个结构具有两个主要的文件夹页面和模板。 节与包含它们的页面位于相同的上级文件夹中的包含之下。
现在,在IDE导航方面,该分组看起来更加高效。 同样清楚的是哪些部分属于同一部分。 在上一张图片中,您还可以看到文件夹usergroups包含子文件夹用户,组,并且在用户/组管理的上下文中,common包含在不同页面上共享的文件夹。
您首选的结构是什么? 分享你的意见。 欢迎任何反馈。
翻译自: https://www.javacodegeeks.com/2013/11/what-is-your-structure-of-jee-based-web-projects.html
jee web