gpt4 book ai didi

具有 ResourceType 的资源的 Java 设计

转载 作者:行者123 更新时间:2023-12-01 11:44:06 25 4
gpt4 key购买 nike

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

我的问题是,就 OO 设计、GRASP 原则和代码的整体可维护性而言,实现此设计的最佳方法是什么:

  • 选项 A:单独的类 Resource 和 ResourceType + ResourceManager 类将为每种资源类型保留资源的多重映射

  • 选项 B:单独的类 Resource + ResourceType 类将包含其相应资源的列表。

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

最佳答案

这将允许类型表示为类并在运行时添加。 enter image description here

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

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

关于具有 ResourceType 的资源的 Java 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29300105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com