在Java项目中组织包的优缺点
随着我正在努力的项目变得越来越大,我开始非常不确定将类分成包.假设项目有很多层,在这些层中是接口和实现,甚至更多的子层(组件).我总是最终得到很多包装,这些包装开始变得有点混乱.
所以我想知道其他人使用包的方法.你喜欢有很多课程很少的课程或很少有课程的课程吗?您更喜欢将实现与接口分开吗?等等…一般来说,您使用套餐的日常习惯以及您的方法的优点/缺点. 谢谢你的帖子. 解决方法
包裹旨在帮助您找到东西.
如果他们让它变得更加混乱,你就没有做得对.如果包结构不直观,实际上找到类比在平面结构中更难. 据我所知,有两个基本的学校组织课程: >首先按模块组织.在这里,您的更高级别的软件包是系统的不同模块,您可以通过功能进一步拆分它. 两个系统都有优点和缺点,我发现它们非常相似,尽管我更喜欢模块方法. 真正重要的是要遵循一个系统而不要将它与另一个系统混合.如果您的新课程似乎不属于您现有的课程,请不要将自己的课程变成他们不属于的课程,也不要害怕创建新课程. 如果包看起来变得太大,您可能想要拆分它.但是,是否应该分割一揽子方案的决定应该考虑其中的类别之间是否存在明确的概念上的划分而不是数字.一个包含一个类的包就像一个有三十个类的包一样好,如果它们显然是为什么它们就在那里. 至于分离接口和实现,首先,我可能会质疑它们的必要性.我经常遇到只有一个合理实现的接口,这让我质疑它们存在的理由. (有时候有充分的理由,但往往没有.) 但是如果你有一个给定接口的多个实现,那么是的,我将它们分开.接口将是com.foo.Bar,实现将类似于com.foo.bars.CrowBar,com.foo.bars.TaskBar.显然,如果您的实现属于不同的模块,那么您可以将其更改为com.foo.moduleX.bars.CrowBar或com.foo.bars.moduleX.CrowBar,具体取决于您所遵循的系统. 重新阅读这一切,听起来有点复杂,但可能第一句话是最重要的:不要盲目遵循包装原则,包装应该帮助你找到课程,而不是阻碍你. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |