我正在重写Native iOS中的Xamarin项目(Objective-C)
我注意到每个类都有相应的iClass接口。
这种设计模式的目的是什么?这是Xamarin开发的标准还是仅仅是一种风格?我知道接口的用途,它们就像Objective-C中的协议一样,但是我没有看到为你只用过一次的每个类写一个协议的目的吗?
如果我只是将类和iClass重写为Objective-C中的单个类,会导致错误吗?我还注意到他们如何在参数中传递这些iClass而不是仅仅符合它?
示例代码
public interface ICar {
}
public class Car: ICar {
}
提前致谢!!
答案 0 :(得分:0)
这可以是实现控制反转的基本方式。这允许抽象类型之间的依赖关系,以便程序的所有部分都是可单元测试的。
另一方面,它违反了其他SOLID原则之一,即接口隔离原则(理想情况下,这些原则应该是抽象基类,而不是接口)。
如果将所有接口合并到类中,您将失去代码库的单元可测试性。