jpo*_*poh 4 c# parameters struct
基本上,我有类似以下内容:
public string SomeDBMethod(string server, string dbName, string userName, string password,...)
Run Code Online (Sandbox Code Playgroud)
将其重构为以下内容是否是一种好的做法:
public string SomeDbMethod(DBParams parameters, ...)
Run Code Online (Sandbox Code Playgroud)
其中 DBParams 定义如下:
public struct DBParams
{
string Server {get;set;}
string DbName {get;set;}
string UserName {get;set;}
string Password {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我的观点是真正能够传递更少的参数,因为我发现具有长参数列表的函数确实非常难看。
我还发现这种方法有一些限制:如果 SomeDbMethod 要作为 Web 服务方法公开,我不能使用 DBParams 结构作为参数(据我对 Web 服务主题的理解...不是很远)。
那么,这是否太麻烦而没有什么好处,还是我在这里做了一些事情?
除非您实际上需要非常频繁地传递这组参数(使用相同的数据),否则我认为没有任何必要。长参数列表有时表明需要重构代码,但有时也是不可避免的。(在您的情况下,似乎更像是后者。)因此,只需使用直接传递参数的简单方法,除非您发现自己需要存储参数集(至少暂时) - 您实际上不会保存任何代码否则,肯定不会增加可读性。
使用结构的方法不会对 Web 服务施加任何限制。您只需将类型设置为可序列化(DataContract我相信在 WPF 中),就不应该有任何问题。
| 归档时间: |
|
| 查看次数: |
3791 次 |
| 最近记录: |