创建具有一长串参数的方法或将参数包装到对象中更好(最佳实践是什么)?
我的意思是说我有一个包含一长串属性的客户端数据类型,我想一次更新所有属性。做类似的事情更好吗
public int Update(int id, string name, string surname, string streetAddress, string streetAddress2, string postcode, string town, string city, string nationality, string age, string gender,string job)
{ }
或者将所有属性包装在一个对象中,然后做类似的事情
public int Update(Client client)
{ }
谢谢
最佳答案
在他的书中Refactoring , Martin Fowler 明确指出长参数列表是一种代码味道,并建议重构此类方法以使用参数对象。
一种变体是识别这些参数如何分组,并创建多个参数对象来表示每个这样的组。
参数对象的优势在于,当您可以为参数对象指定一个可交流的名称时,代码变得更具可读性。结果可能是参数对象代表了一个真正的领域概念,接下来您可以做的就是开始将行为移入其中。
关于c# - 创建具有一长串参数的方法还是将参数包装到一个对象中更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2598703/