我们正在使用Liferay开展一项关于大型portlet开发工作的一些工作,我发现很难根据我们正在创建的各种portlet来构建这个项目。我们不确定我们应该以哪种方式构建我们的项目。我们在全球范围内分布了开发团队,我们使用git作为我们的版本存储库。我们使用Spring Portlet MVC开发portlet并使用服务构建器来实现服务层。
我可以考虑这三种方法。
为每个portlet创建一个新的Portlet项目
逻辑上将portlet分成多个portlet项目
只创建一个包含所有portlet的portlet项目
1和2的混合(基于我在下面的评论中与Dirk的讨论) 我认为这种方法需要混合使用1和2。
如果您已经创建了liferay项目/ portlet以及您选择了哪种方法,我想知道您的专家意见。记住这些事情
感谢您阅读
答案 0 :(得分:2)
为Dirk的答案添加一些内容,我的经验法则是在同一个项目中使portlet具有类似的维护周期 - 例如如果你更新其中一个,你通常会更新所有这些,因为他们创建一个应用程序,通过不同的UI呈现相同的数据。这基本上是你的选择2。
除此之外你把选项钉得很好 - 答案是“在中间”。使用app-server开销平衡分离。使用上面的经验法则,你已经设定好了。
关于开发环境:每个开发人员都应该在自己的环境中工作,但是,通过版本控制,他们当然可以在同一个项目上工作。
答案 1 :(得分:1)
我认为这在很大程度上取决于您实际构建的项目类型。您是否在封装功能的意义上讨论portlet,并将这样使用(即最终作为Liferay中的portlet)?如果他们的功能不相交而且他们不依赖于彼此,那么我认为应该把它们放在不同的项目中。
如果你有一个核心功能(例如持久层和相关逻辑或其他业务逻辑),你应该尽可能地重用它。因此,我不认为(1)是一个很好的解决方案,例如,这个通用逻辑应该分组在一个单独的项目中,并且portlet本身依赖于此。
作为一般方法:让开发人员都可以访问所有(或大多数)项目会有什么问题?公共代码可以被所有portlet重用,但仍然每个人都必须只为他/她工作。