面向接口编程
首先,面向接口编程和面向对象编程不是平级的,它并不是比面向对象更先进的编程思想而是附属于面向思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。
接口的本质
接口,在表面上是由几个没有主体代码的方法定义组成的集合体,有唯一的名称,可以被其他类或接口实现(或者说也可以继承)
interface InterfaceName
{
void Haad1();
void Haad2(int bara1);
void Haad3(string bara2,string bara3);
}
它的本质是什么呢? 接口的意义何在?我认为要从俩个地方考虑。
(1)接口的规则是如果你是属于哪个,那么你必须是哪个的概念。
(2)接口是在一定粒度视图上同类事物的抽象表示。
抽象类 比如 飞机 鹦鹉 麻雀 老鹰 飞机属于抽象类(不属于动物类,但是都可以飞)。
那么什么是面向接口编程呢?
个人的定义是:在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。
使用接口的另一个好处就是不同部件或层次的开发人员可以并行开工,就像造硬盘的不用等造CPU的,也不用等造显示器的,只要接口一致,设计合理,完全可以并行进行开发,从而提高效率。