我有一个使用Spring和Hibernate的启动Web应用程序,目前有3层。查看,服务和DAO。它也是域对象分开隔离的。
为此,我想添加 webservice和scheduler 。现在我应该添加这些类?或者我应该为这些创建新的包? n层Web应用程序的最佳实践是什么?
请分享您的想法和经验。
答案 0 :(得分:3)
Web和调度程序包?
这个问题没有“正确”的答案,而且对于你的包装布局没有任何想法超出所显示的内容,很难更具体。
只要它在上下文中有意义,并且它是一致的,无论如何它总是无关紧要。在您在原始功能和新功能中识别和重构功能后,您可能会发现现有结构发生了变化。
答案 1 :(得分:2)
一些想法:
包不是一个层。层(或层)是相关功能集合的逻辑抽象,包是编译单元的物理分组工具。可能的情况是,用于实现逻辑层的所有类都驻留在同一个源包中,但并不要求是这种情况。
似乎webservice
很适合service
包,或者可能是service
中名为web
的子包。
对于调度程序,它也可能属于service
包中的某个位置(特别是如果其他组件是通过服务API与调度程序连接)。如果没有,那么接下来最合适的事情就是给它自己的包scheduler
。
至于最佳实践,只做1)工作,2)有意义。 “n层Web应用程序”是一个如此广泛的主题,以至于没有任何特定的答案适用于所有可能的情况。