欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

针对接口编程,而不是针对实现编程

程序员文章站 2022-07-15 18:36:32
...

HeadFirst设计模式第二章阐述的观点是针对接口编程
我的理解是代码设计应该首要关注接口 其次才是实现
针对接口编程可以理解成关注 "怎么做"
针对实现编程对应的就是 "做什么"

针对接口编程的实践

C语言的标准库设计就贯彻了这一理念

ssize_t read(int fildes, void *buf, size_t nbyte);

调用read会去读取对应文件描述符的内容 假设当前处于linux环境下的话
这个文件描述符可能对应一个网卡设备 也可能是一个字符设备

假设编程关注的是"做什么" 那么C语言的接口可能就会变成这样

......

ssize_t read_char_device(int fd, void *buf, sizt_t nbyte);

ssizt_t read_socket_device(int fd, void *buf, size_t nbyte);

......

针对接口编程的设计 将不同的文件描述符的"怎么做"抽象出来形成统一的read接口
达到使用者和维护者的分离,使用者关注统一的抽象接口,维护者关注各自的底层实现

转载于:https://www.jianshu.com/p/6dccac496dcd