我正在为新的 Web API 创建一个 C# 包装器库。
该服务提供了一组 API,其中每个方法接收几个强制参数和几个可选参数(每个方法可能接收不同的强制/可选参数)。
参数在 POST 方法中发送,作为一个长字符串 param=value¶m2=value2&....
已经习惯了基于界面的设计——在这种情况下是否合适?
我找不到一个好的解决方案来将所有 API 方法和参数映射到单个接口中,而不会创建方法重载,造成大混乱,这会使用户更难使用。
它的外观示例:
public interface IServiceAPI
{
void MethodA(string mandatory, string mandatory2);
void MethodA(string mandatory, string mandatory2, int optional);
void MethodB(string mandatory);
... etc
}
- 我知道在 .NET 4 中引入的可选参数。这不是一个好的解决方案,因为这个库是针对较低版本的 .NET,而且因为“可选参数”实际上只是一种设置默认值的方法,并且不是为了不发送参数的任何值。
基于接口的设计可能适合这里吗?或者换一种说法——基于界面的设计最适合哪里?