允许API用户更改trival选项的最佳方法是什么?意味着该选项具有不需要更改的默认值,但是他们可能希望将来更改它。该类在API中是公开的,但是没有被直接告知要更改哪个类和哪个选项,他们就不知道了。
假设您有一些基本API对象生成的数据对象。此数据类可能如下所示:
public class SomeComplicatedMessageInterpretter
{
public static bool ShouldReturnVerboseMessage { get; set; } = true
public bool TryInterpreMessage(string message)
{
try
{
Console.WriteLine(message + (ShouldReturnVerboseMessage ? "More information": string.Empty));
return true;
}
catch(IOException)
{
return false;
}
}
}
一般来说,您希望ShouldReturnVerboseMessage值为true,但它对于程序操作并不重要。因此,您将其设置为静态get / set,并且不要在参数中使用它并为其指定默认值。这意味着它可以改变,但不一定是。
嗯,从API用户的角度来看,他们看到的只是这样:
public static void Main(string[] args)
{
APIComponent1 component = new APIComponent1();
component.Run();
}
他们怎么知道他们可以通过这样做来改变他们觉得讨厌的事情:
SomeComplicatedMessageInterpretter.ShouldReturnVerboseMessage = false;
有更好的方法吗?或者是唯一能够回答这类特定问题的优秀文档和论坛?