Java 为具有 ResourceTypes 的资源设计
Java design for Resources with ResourceTypes
我正在开发一个任务管理应用程序,它使用 ResourceManager 来管理不同资源的所有预留,每个资源都有其 ResourceType。目前,有5种ResourceTypes,这些不会定期变化,但会发生。
我的问题是,在 OO 设计、GRASP 原则和代码的整体可维护性方面,最好的设计方法是什么:
选项 A:分离 classes Resource 和 ResourceType + ResourceManager class 将为每种资源类型保留一个资源多图
选项 B:单独 class 资源 + ResourceType class 将包含其相应资源的列表。
在我看来,选项 B 在资源及其类型方面会有更高的凝聚力,但我正在寻找某些(重构)场景,其中一个选项会比另一个选项更好?
这将允许类型表示为 classes 并在运行时添加。
您还可以有一个 ResourceFactory,它决定在运行时创建哪个资源。然后您可以使用工厂获取资源对象以传递给 addResource()。
这种设计的好处是 ResourceManager 与其管理的特定资源类型分离。要添加新的资源类型,只需添加一个新的 class 并更新工厂 class.
我正在开发一个任务管理应用程序,它使用 ResourceManager 来管理不同资源的所有预留,每个资源都有其 ResourceType。目前,有5种ResourceTypes,这些不会定期变化,但会发生。
我的问题是,在 OO 设计、GRASP 原则和代码的整体可维护性方面,最好的设计方法是什么:
选项 A:分离 classes Resource 和 ResourceType + ResourceManager class 将为每种资源类型保留一个资源多图
选项 B:单独 class 资源 + ResourceType class 将包含其相应资源的列表。
在我看来,选项 B 在资源及其类型方面会有更高的凝聚力,但我正在寻找某些(重构)场景,其中一个选项会比另一个选项更好?
这将允许类型表示为 classes 并在运行时添加。
您还可以有一个 ResourceFactory,它决定在运行时创建哪个资源。然后您可以使用工厂获取资源对象以传递给 addResource()。
这种设计的好处是 ResourceManager 与其管理的特定资源类型分离。要添加新的资源类型,只需添加一个新的 class 并更新工厂 class.