什么是面向接口编程?
看到标题的朋友我相信你肯定也有和我最初一样的疑惑?为什么在实际项目过程中定义了那么多只有唯一实现的接口?这里的原因实际上是受到了软件工程历史上提出一个设计原则或者说是设计理念影响的,即:依赖倒置原则。
它说明了一种在软件设计过程中需要遵循的原则,即:软件中的高层模块不应该直接依赖于底层模块,底层模块也不应该依赖于高层模块,两者都应该依赖抽象。可以借助下面的图加深理解:
现在模块A需要模块B的能力,这个时候我们直接将模块B加入模块A的依赖中是否是一种最佳实践?其实这就涉及到在软件设计过程中如何进行抽象的问题。怎么去理解需求?需求未来会怎么变化?扩展方式是怎样的?这些问题都是会实际影响到抽象模块的设计。
所以整个面向接口编程实际上应该称为面向抽象编程,但是我所经历过的项目中,很多人都会定义一个接口,紧接着去定义实现,实际上根本就没有去思考如何进行抽象,这样定义出来的接口本质上都算不上一个接口。后面再说说项目过程中如何进行抽象。
标签:编程,定义,中伪式,接口,抽象,面向,模块 From: https://www.cnblogs.com/blogs2liuming/p/16035256.html