Java 为具有 ResourceTypes 的资源设计

Java design for Resources with ResourceTypes

我正在开发一个任务管理应用程序,它使用 ResourceManager 来管理不同资源的所有预留,每个资源都有其 ResourceType。目前,有5种ResourceTypes,这些不会定期变化,但会发生。

我的问题是,在 OO 设计、GRASP 原则和代码的整体可维护性方面,最好的设计方法是什么:

在我看来,选项 B 在资源及其类型方面会有更高的凝聚力,但我正在寻找某些(重构)场景,其中一个选项会比另一个选项更好?

这将允许类型表示为 classes 并在运行时添加。

您还可以有一个 ResourceFactory,它决定在运行时创建哪个资源。然后您可以使用工厂获取资源对象以传递给 addResource()。

这种设计的好处是 ResourceManager 与其管理的特定资源类型分离。要添加新的资源类型,只需添加一个新的 class 并更新工厂 class.