我正在研究意大利面条怪兽(不幸的是不是飞行类的怪兽),但是我对正确的设计有疑问。
我正在采取一种巨大的静态Java方法,该方法返回一个对象并将其拆分为可重用(和可读)的组件。现在,该方法读取XML文档,然后将文档的摘要和详细信息附加到“ dataModule”,然后从该方法返回dataModule。
在将代码分解为getSummaryData和getDetailedData方法时,我注意到我已经完成了以下工作:
dataModule = getSummaryData(xmlDocument);
setDetailedData(xmlDocument, dataModule);
(通过引用传递,将详细数据附加到方法内的dataModule中)
这主要与以下事实有关:详细数据需要基于摘要数据的业务逻辑才能正确解析,并且更改dataModule的结构涉及大量更改应用程序前端的事实。
这种方法是否优于:
dataModule = getSummaryData(xmlDocument);
dataModule = setDetailedData(xmlDocument, dataModule);
(通过引用传递,将详细数据附加到方法内的dataModule中,返回dataModule)
我不能在不透露“ teh secretz”的情况下共享更多代码,但是,有充分的理由将一种方法比另一种方法更好吗?还是,我只是被这只猪在上面涂的哪种唇膏所困扰?
谢谢,
IVR复仇者
最佳答案
我发现您的第二种方法,即您返回相同的对象时,会更加混乱-因为这对调用函数意味着可能会返回不同的对象。如果要修改对象,第一个解决方案对我来说很好。