您如何确定包名称应该是什么以及哪个类应该进入哪个包?
我正在开发一个项目,我不断添加/删除类,并且不确定我是否需要新软件包,或者应该将其添加到我当前不知道的现有软件包中。
创建新包时是否遵循一套规则?
您如何知道您是否没有复制包功能?这只是熟悉项目。
任何指示赞赏。
答案 0 :(得分:14)
我强烈反对从实现的角度组织软件包,例如controllers
,data
等。我更喜欢按功能对它们进行分组,即feature1
,{{1如果一个特征相当复杂并且需要大量的类,那么(并且只有这样)我创建上面的子包,即feature2
,feature1.controllers
等。
答案 1 :(得分:11)
课程应该做一件事(Single Responsibility Principle)。
执行相关操作的类应该放在同一个包中。如果您发现可以更密切地关联包中的某些类,请将它们作为子包!
例如,如果我有一个包含这些类的项目:
GreetingInputWindow
GreetingDatabaseObject
GreetingDatabaseConnector
我可能只是将它们全部放在greeting
包中。如果我愿意,我可以将GreetingInputWindow
放入greeting.ui
包中,将另外2放入greeting.db
包中。
答案 2 :(得分:2)
我不相信包装惯例有任何硬性规定(尽管我可能是错的)。通常我会把它分解成
com.mycompanyname然后:
如果我发现我的课程不适合任何课程,那么我会创建一个新课程。