我们使用spring框架,遇到了这样的情况:
我们有服务类,例如 CatalogManager、CourseManager,我们现在想让它们具有像 parseXML 这样的功能。
我的问题是我应该将这些方法放入每个单独的类中,例如 CatalogManager 或 CourseManager 中的 parseXML 方法吗?或者我们应该创建一个 XMLUtil 类并在该类中创建像 parseCatalogXMl 和 parseCourseXML 这样的方法?
谢谢。
最佳答案
这取决于 parseXML()
将执行的操作。
情况 1: 如果所有 parseXML()
方法都要做同样的事情,那么您应该拥有另一个具有一个 parseXML( )
方法。为什么?它避免了不必要的重复,使更新更容易,并且更容易扩展。
情况 2: 如果所有 parseXML()
方法都不同(主要是,不仅仅是几行),那么在每堂课。为什么?尝试将多种不同的方法组合成一种方法既复杂又丑陋。
情况 3: 创建具有 parseXML()
方法的 CatalogManager
和 CourseManager
的父类(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/