美文网首页设计模式
针对接口编程,而不是针对实现编程

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

作者: cx7 | 来源:发表于2019-02-28 20:43 被阅读0次

    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.haomeiwen.com/subject/gpzkuqtx.html