我已经看到了使用显式接口作为将类使用锁定到该接口的方法的论点。争论似乎是,通过强制其他人对接口进行编程,您可以确保更好地解耦类并允许更轻松的测试。
例子:
public interface ICut
{
void Cut();
}
public class Knife : ICut
{
void ICut.Cut()
{
//Cut Something
}
}
并使用 Knife 对象:
ICut obj = new Knife();
obj.Cut();
你会推荐这种接口实现方法吗?为什么或者为什么不?
编辑:另外,鉴于我使用的是显式接口,以下内容将不起作用。
Knife obj = new Knife();
obj.Cut();