我正在开发一个任务管理应用程序,它使用 ResourceManager 来管理不同资源的所有预留,每个资源都有它们的 ResourceType。目前,有 5 种 ResourceType,它们不会定期更改,但可能会发生。
我的问题是,就 OO 设计、GRASP 原则和代码的整体可维护性而言,实现此设计的最佳方法是什么:
选项 A:单独的类 Resource 和 ResourceType + ResourceManager 类将为每种资源类型保留资源的多映射
选项 B:单独的类 Resource + ResourceType 类将包含其对应资源的列表。
在我看来,对于选项 B,关于资源及其类型的凝聚力会更高,但我正在寻找某些(重构)场景,其中一个选项会比另一个更好?