09 | 理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?

基于接口而非实现编程
这条原则的另一个表述方式是"基于抽象而非实现编程". 后者表述的方式其实更能体现这条原则的设计初衷, 我们做软件开发的时候一定要有抽象意识, 封装意识, 接口意识, 越抽象, 越顶层, 月脱离具体某一实现的设计,越能提高代码的灵活性, 扩展性, 可维护性

我们在定义接口的时候 一方面 命名要足够通用, 不能包含跟具体实现相关的字眼; 另一方面 与特定的实现有关的方法不要定义在接口中
(譬如对相关功能使用开源框架 这里可以二次封装 但是命名要足够抽象, 避免更换开源框架后造成相关命名困扰)

"基于接口而非实现编程"这条原则,不能可以指导非常细节的编程开发,还能指导更加上层的架构设计, 系统设计, 比如, 服务端与客户端之间的接口设计, 类库的接口设计.

你可能感兴趣的:(09 | 理论六:为什么基于接口而非实现编程?有必要为每个类都定义接口吗?)