我正在创建一个反序列化 XML 文件并从中创建一些对象的类。
该方法或多或少是这样的(C#风格的伪代码):
this.Load(string url_or_filename, out string file_content) {
try {
string filename = url_or_filename;
loadFile(filename, resultstring);
}
catch (FileNotFoundException) {
string url = url_or_filename;
loadUrl(url, resultstring);
}
}
问题是:将“魔术字符串”传递给这个函数,让它处理来自字符串的意图,从而为 API 的用户提供一个易于使用的界面,或者是有两种不同的方法更明智,一种用于本地文件路径,另一种用于远程 URL?
(这可以更广泛地问为:“我是否应该有一个接受很多参数类型的单一方法,或者一个单一命名方法的大量重载(例如,在 Python 中不严格可行),或者每个方法都应该以单一的方式做一件事,因此我应该有更多的方法,每个方法都有它的单一名称?)