c# 关于多参数的问题
高手们问个很基础的问题,我看到一个有18个参数的方法。。我以为写个结构体,就可以简化代码,可是我发现,到头来结构体的18个字段也要从头赋值过才可以传。。而且传进去还要赋值...
高手们 问个很基础的问题,我看到一个有18个参数的方法。。我以为写个结构体,就可以简化代码,可是我发现,到头来 结构体的18个字段也要从头赋值过才可以传。。而且传进去还要赋值到另外的类字段里, 难道没有更好的方法优化了么
展开
展开全部
这个是设计的问题。在面向对象编程中,我们编写程序必须遵循一些最基本的设计原则。其中比较重要的就是单一职责原则和开放封闭原则。
你可以问一下自己,是不是你在你的这个方法中做了过多的事情?一个方法如果过于强大往往不是什么好事,这意味它的复用性很低并很难修改,一个类过于万能也是如此。
通常一个函数的代码函数在30-50行左右,可以才有下面的技巧重构代码:
1.如果方法描述的是一个算法的执行过程,把过程的每一步分解到其它函数中。
2.检查看你的方法是否有其它地方可重用的功能,如果有把它分离出来。
3.检查看是否有超过两级的选择或循环语句,如果有把它分离出来。
4.使用linq表达式、匿名函数和部分类这些.NET特有的工具减少代码量和优化代码组织。
5.如果是一个较大的项目,从顶层开始检查你的设计:如是否采用了分层模型,是否有跨层调用,问题域(领域模型)是否明确定义,问题对象是否有类化。
你可以问一下自己,是不是你在你的这个方法中做了过多的事情?一个方法如果过于强大往往不是什么好事,这意味它的复用性很低并很难修改,一个类过于万能也是如此。
通常一个函数的代码函数在30-50行左右,可以才有下面的技巧重构代码:
1.如果方法描述的是一个算法的执行过程,把过程的每一步分解到其它函数中。
2.检查看你的方法是否有其它地方可重用的功能,如果有把它分离出来。
3.检查看是否有超过两级的选择或循环语句,如果有把它分离出来。
4.使用linq表达式、匿名函数和部分类这些.NET特有的工具减少代码量和优化代码组织。
5.如果是一个较大的项目,从顶层开始检查你的设计:如是否采用了分层模型,是否有跨层调用,问题域(领域模型)是否明确定义,问题对象是否有类化。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询