打包几个枚举类
Packaging several enum classes
我创建了一个带有 GUI 的扑克游戏;它有模型、视图、控制器、viewController 包,可容纳足够的文件。
例如模型持有:CardModel
、CardDeckModel
等
我还创建了一些枚举 类:CardSuit
、CardRank
等
所以我的问题是:我应该为这个枚举创建一个单独的包 类 还是应该将它们放入模型包中?
这取决于用途。关于 model/view/controller... 分离包的要点是,如果由于某种原因你创建了另一个项目 B,它需要项目 A 的模型,但不关心其他的,你可以干净地得到你的模型包从 A 到它自己的项目 C,然后使用该项目 C 作为 A 和 B 的依赖项,重用您的代码而不包含太多代码。
为了能够做到这一点,语义是模型中的 classes(以及接口、枚举、一切)只能引用模型中的其他元素;控制器中的元素可以引用控制器或模型中的元素;视图中的元素可以引用控制器、视图或模型中的元素;等等。如果您模型上的 class 从控制器导入 class,您将无法按照描述提取模型。
话虽这么说,你按依赖意义对层进行排序,并且对于每个枚举,看看这个枚举需要的 classes 在哪里?您必须将枚举放在对该枚举有任何引用的 'minimum' 层中。
这是在一般情况下,在你的情况下,根据那些枚举的名称,它们似乎在模型中使用(这将是最低层),所以它们似乎属于那里
我创建了一个带有 GUI 的扑克游戏;它有模型、视图、控制器、viewController 包,可容纳足够的文件。
例如模型持有:CardModel
、CardDeckModel
等
我还创建了一些枚举 类:CardSuit
、CardRank
等
所以我的问题是:我应该为这个枚举创建一个单独的包 类 还是应该将它们放入模型包中?
这取决于用途。关于 model/view/controller... 分离包的要点是,如果由于某种原因你创建了另一个项目 B,它需要项目 A 的模型,但不关心其他的,你可以干净地得到你的模型包从 A 到它自己的项目 C,然后使用该项目 C 作为 A 和 B 的依赖项,重用您的代码而不包含太多代码。 为了能够做到这一点,语义是模型中的 classes(以及接口、枚举、一切)只能引用模型中的其他元素;控制器中的元素可以引用控制器或模型中的元素;视图中的元素可以引用控制器、视图或模型中的元素;等等。如果您模型上的 class 从控制器导入 class,您将无法按照描述提取模型。 话虽这么说,你按依赖意义对层进行排序,并且对于每个枚举,看看这个枚举需要的 classes 在哪里?您必须将枚举放在对该枚举有任何引用的 'minimum' 层中。 这是在一般情况下,在你的情况下,根据那些枚举的名称,它们似乎在模型中使用(这将是最低层),所以它们似乎属于那里