程序员三大基础思维简谈:协议、接口和分层


不管是硬件设备、软件概念或者是网络通讯中,协议、接口无处不在,软件系统离不开分层模型。我认为它们应该是计算机类专业中基础的基础,是必学的课程或概念。协议和分层,各种课程都有涉及,但可惜的是,很多计算机类专业都没有设立接口技术这一项。

我当年上大学,接口技术只是一门不受重视的选修课,老师不讲,学生不用看。接口技术的书籍里面,大都是艰涩难懂的硬件概念,罗列了各种各样天书般的技术参数,让人望而生畏。但是,接口技术不是硬件或嵌入式的专利。接口思维是计算机类专业人员要必备的思维能力。它与协议思维、分层思维,并称为三大程序员基础思维。

计算机接口技术可以根据不同的标准和协议进行分类。最常见的是按照物理接口、逻辑接口和网络通讯来进行的分类。

接口技术的基本原理是,通过定义遵循相同的协议标准和规范,传递和转换不同的数据和信号,来实现设备之间、软件之间和网络之间的通信和进行交互操作。

例如,USB接口可以通过传输数字信号来连接计算机和外部设备,HDMI接口可以通过传输视频和音频信号来连接计算机和显示器,TCP/IP协议帮助我们传输数据包,HTML/CSS帮我们显现网页,操作系统API可以让我们创建新的应用进程。诸如此类的例子,多不胜数,举不胜举。

接口与协议是密切相关的,协议描述或暗含了接口,接口呈现了协议。协议与接口,有硬件的,有软件的,更多的是两者的结合。协议与接口,可以使用不同的和编程语言来实现,例如TCP/IP协议、XML协义,你可以用不同语言来描述、实现和使用它。

接口不是一个随性而为的东西,它具备以下特点:

不仅硬件之间需要物理接口,不同软件之间,甚至同一软件内部各模块之间也需要接口。其实,软件的每个模块函数就是接口广义来说,接口无处不在。无处不在的接口背后,都有相关的协议,比如我们打印A4、A4、A5等,它的尺寸也是协议定制的。再如,你实现的软件函数,其调用参数与返回值,内含了协议,外展露了调用接口。

一个互联网项目的API模型

如果只谈软件接口,包括应用程序接口API、驱动接口、类库、中间件、操作系统接口等,它们可以帮助不同的软件模块在运行时相互通信和协作。

在编程中,接口是非常重要,因为它可以帮助程序员实现模块化和抽象化的编程方法。接口可以定义不同模块之间的通信和交互方式,从而使程序更加灵活、可扩展和可维护。此外,接口还可以使程序更加可测试和可靠。

而分层结构则是纯的软件思维。分层思维模型是一种将软件系统划分为不同层次的方法,每个层次有不同的职责和功能。每个层次之间都有明确的接口和约束条件不同层次之间的通信通过接口进行。这种分层的思想可以使得系统的不同部分相对独立,从而更加容易维护和修改。此外,分层思想还可以促进团队协作,因为每个团队可以专注于自己的层次,而不必担心其他层次的细节。

我们的分层结构设计,都可以从OSI七层模型中得到营养。这方面的细节网上太多,不便详述。

因为协议、接口、分层,牵扯很广,不可能在一个短文里面说的透彻。但其中的本质、要点和原理,不会超出我的简谈。作为一个合格的码农,一定会在不知不觉的情况下,把这几项基本思维融入到了工作中。

以是上我这个老码农一时的兴起之作。这些思维看上去很简单明了,可能我很愚钝吧,这些居然是我工作多年之后才会有的感悟!

这些内容,可能对行外人来说是枯燥无味世界观、方法论,读起来一定是味同嚼蜡。如果你能看到这里,说明你恐怕是深有同感、或有不同见解的专业人士了,欢迎关注、留言或吐槽。

展开阅读全文

页面更新:2024-03-01

标签:接口   思维   协议   程序员   应用程序   模块   通信   硬件   计算机   基础   设备   软件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top