gpt4 book ai didi

java - 如何在服务类和 util 类之间拆分应用程序功能?

转载 作者:行者123 更新时间:2023-12-01 15:29:43 27 4
gpt4 key购买 nike

我们使用spring框架,遇到了这样的情况:

我们有服务类,例如 CatalogManager、CourseManager,我们现在想让它们具有像 parseXML 这样的功能。

我的问题是我应该将这些方法放入每个单独的类中,例如 CatalogManager 或 CourseManager 中的 parseXML 方法吗?或者我们应该创建一个 XMLUtil 类并在该类中创建像 parseCatalogXMl 和 parseCourseXML 这样的方法?

谢谢。

最佳答案

这取决于 parseXML() 将执行的操作。

情况 1: 如果所有 parseXML() 方法都要做同样的事情,那么您应该拥有另一个具有一个 parseXML( ) 方法。为什么?它避免了不必要的重复,使更新更容易,并且更容易扩展。

情况 2: 如果所有 parseXML() 方法都不同(主要是,不仅仅是几行),那么在每堂课。为什么?尝试将多种不同的方法组合成一种方法既复杂又丑陋。

情况 3: 创建具有 parseXML() 方法的 CatalogManagerCourseManager 的父类(super class)。然后,如果子类需要用这个方法做一些不同的事情,它可以简单地重写它。

您应该使用哪一个?最终的解决方案是最可取的,因为它结合了前两种方法的优点,使您的代码保持简单、可扩展、可读和可更新。但如果前两种情况之一严格适用,则应改用前两种情况。

你的类结构将是这样的:

Manager          // the super class, this implements parseXML().
CatalogManager // a sub class, overriding parseXML() only if it needs to.
CourseManager // same as above.
XMLUtil // this class is only necessary in case 1.

最终决定权在你。没有一种情况比其他情况更快,只需选择您想要的即可。

关于java - 如何在服务类和 util 类之间拆分应用程序功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695327/

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