假设我们正在做一个解析器。一种实现可以是:
public sealed class Parser1
{
public string Parse(string text)
{
...
}
}
或者我们可以将文本传递给构造函数:
public sealed class Parser2
{
public Parser2(string text)
{
this.text = text;
}
public string Parse()
{
...
}
}
在两种情况下用法都很简单,但是与另一种相比,启用向的参数输入是什么意思Parser1
?当他们查看API时,我向同一个程序员发送了什么消息?此外,在某些情况下是否存在任何技术优势/劣势?
当我意识到接口在第二种实现中将变得毫无意义时,又出现了另一个问题:
public interface IParser
{
string Parse();
}
...第一个接口上的接口至少可以达到某些目的。这是否特别表示某类是“可接口的”?