gpt4 book ai didi

c# - 如何用很多参数重构类的方法?

转载 作者:太空狗 更新时间:2023-10-29 18:02:49 30 4
gpt4 key购买 nike

大家我对 ASP.NET MVC 应用程序中的遗留代码有疑问, 在此代码中,业务逻辑层中有一个类服务。此类具有带 20 个参数的方法,此方法使用这 20 个参数创建对象的实例。如何重构这段代码,因为当创建的对象发生变化并且需要更改方法中的参数时,这是一个问题。该服务类用于 Controller 类和单元测试。帮我重构这段代码提前致谢。

编辑附加信息:

我可以显示方法的签名

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 我正确理解了吗?

最佳答案

创建一个对象来保存这 20 个参数并将该对象传递给方法。

例如:

public void MyMethod(MyArguments args)
{
// do stuff
}

编辑

虽然此模式可能对一次性重构有用,但如果您发现自己在多个方法中使用相同的参数,请考虑 Chevex's回答。这是更好的方法。

关于c# - 如何用很多参数重构类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5187049/

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