我有一些 java 类,我想将它们放入包中。这是一个例子:
Foo.java
Bar.java
Qux.java
MetaFoo.java
MetaBar.java
MetaQux.java
如您所见,类成对存在“Class”<->“MetaClass”。
我考虑了三种组织这些文件的方法:
一个包适用于所有类
只需将所有内容都放在一个包中即可。
将每对放入单独的包装中
这将产生以下结构:
为类和元类创建单独的包
哪种方法具有较低的coupling及以上cohesion ?
其他信息:
- 每个元类都包含具有“普通”类实例的字段,即
MetaFoo
包含Foo
类型的字段foo
, - 元类有一个共同的父类(super class),称为
MetaClass
。他们不再继承任何东西。 - 常规类不通过组合/聚合或继承相互关联。
最佳答案
在我看来,您应该将任何具有共享逻辑的类放在同一个包中 - 第二种情况。这是因为,如果您有多个子类(例如 xxxBar),那么所有这些类都触手可及。
关于java - 对于成对的对象来说,哪种包结构更具凝聚力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22960589/