这是情况。我们有两台来自不同供应商(制造商)的打印机。我们希望顶级代码不了解有关提供者的详细信息,而只使用统一的 API。所以我开始提取一个接口。
public interface IPrinterProvider {
bool Connect(string comPort);
bool IsConnected();
}
好的。现在,我意识到一台打印机需要密码属性,而另一台不需要。所以我该怎么做?
再一次。据我了解,我将拥有一个或几个接口和几个实现器。但是调用者将如何工作?我应该创建一个单独的类,它可能不实现任何接口吗?例如:
public class CommonPrinterProvider {
private IPrinterProvider printerProvider;
public CommonPrinterProvider(IPrinterProvider printerProvider) {
this.printerProvider= printerProvider;
}
}
所以,一共两个问题。