- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
基本上,我有如下内容:
public string SomeDBMethod(string server, string dbName, string userName, string password,...)
将其重构为以下内容是否是一种好的做法:
public string SomeDbMethod(DBParams parameters, ...)
其中DBParams定义如下:
public struct DBParams
{
string Server {get;set;}
string DbName {get;set;}
string UserName {get;set;}
string Password {get;set;}
}
我的观点实际上是能够传递更少的参数,因为我发现具有长参数列表的函数真的很丑陋。
我还发现这种方法有一些局限性:如果要将 SomeDbMethod 作为 Web 服务方法公开,我不能将 DBParams 结构用作参数(就我对 Web 服务主题的理解而言) ...不是很远)。
那么,这是否带来了太多麻烦却没有什么好处,还是我在这里有所作为?
最佳答案
除非您实际上需要非常频繁地传递这组参数(使用相同的数据),否则我认为没有任何必要。长参数列表有时表明需要重构代码,但有时又是不可避免的。 (在你的情况下似乎更像是后者。)所以,除非你发现自己需要存储参数集(至少暂时),否则只需使用直接传递参数的直接方法 - 你真的不会保存任何代码否则,肯定不会增加可读性。
使用结构的方法不强加任何与网络服务相关的限制。您只需将该类型设为可序列化(我相信 WPF 中的 DataContract
),应该不会有任何问题。
关于c# - 将许多相似的参数封装到结构中是一种好习惯吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949607/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!