【发布时间】:2011-03-03 21:53:12
【问题描述】:
大家我对 ASP.NET MVC 应用程序中的旧代码有疑问, 在这段代码中,业务逻辑层中有一个类 Service。此类具有带有 20 个参数的方法,此方法使用这 20 个参数创建对象实例。 如何重构这段代码,因为当创建的对象改变时,这是一个问题,需要改变方法中的参数。 该服务类用于控制器类和单元测试。 帮我重构这段代码 提前致谢。
编辑附加信息:
我可以显示方法的签名
public Qualification CreateQualification(string achievableCode, string achievableTitle,
string accreditationRef, bool brandingPrefix, long brand, float guidedLearningHours,
int creditValue, long level, long type, long gradingType, long area, int subArea,
DateTime accreditationStartDate, DateTime accreditationEndDate,
DateTime lastCertDate, string nameOnCert,
long organisationId)
我认为需要应用 Kely 和 Chevex 方法,例如我可以提取一些类
一个来自参数:
long area, int subArea
其他
bool brandingPrefix, long brand,
提取子类后,我可以使用我正确理解的 Introduce Parameter Object 吗?
【问题讨论】:
-
+1,但是 ASP.Net MVC 什么时候成为传统的 :)
-
也许他指的是遗产,就像 Michael Feathers 在他的书 Working Effectively with Legacy Code (see modern interpretations section) 中所做的那样。
-
我说的是遗留代码我的意思是该代码是很久以前由其他开发人员编写的,此代码在 ASP.NET MVC 应用程序中
标签: c# refactoring