感悟:MiddleWare(中间件、中间软件、中介软体)(*****)

36 篇文章 0 订阅
本文探讨了中间件在程序开发中的作用,尤其是在处理复杂逻辑和模块化编程中的优势。作者强调了中间件的普遍性和选择合适中间件的重要性,提倡针对中间件编程的思想,以适应不同场景的需求,同时指出过度依赖操作系统或全栈编程的局限性。
摘要由CSDN通过智能技术生成

middleware

美 ['mɪdlweə(r)]
英 ['mɪdlweə(r)]

    n.中间件(允许不同程序协同工作)
    网络中介软件;中间软件;中介软体

显示中间件

数据 -->> 复杂数据处理函数 -->> 显示驱动 -->> LCD pannel

数据 -->> 简单数据处理函数 -->> 中间件/第三方库(显示驱动 GUI库) -->> LCD pannel

程序运行(运行函数)中间件

由程序员全程管理的运行

main -->> 复杂的函数运行管理逻辑 -->> 需要运行的函数

问题:

1. 当程序越来越庞大,越来越复杂时,“复杂的函数运行管理逻辑”的处理,头大、耗时、难解的Bug,越来越麻烦,直到崩溃?

2. 使用第三方库,这也是使用“中间件”的一种表现。

将“复杂的函数运行管理逻辑 ”交给中间件(操作系统)来完成

main -->> 中间件/第三方库(操作系统也可以视为是一种中间件) -->> 需要运行的函数

问题:

1. 从" main  -->> 中间件/第三方库(操作系统也可以视为是一种中间件)"的过程,对于程序员老说,是黑箱操作;有时不是程序员自己能够掌控的,只能由中间件制造者来保证其性能,以及中间件的可用性。

2.对于具体的应用软件来说,“操作系统”也是一种中间件;这种思想,有助于正确认识 OS本身的实质,避免迷失在 OS”高、大、上“市场炒作宣传的泥潭中。

3.对于中间件,有时程序员只能选择,或者暂时处在唯一选择的状态。

日常生活中间件

人 -->> 手机(这也是一种中间件)-->> 无线电波

说明:

1. “中间件”,无处不在:
      编译器也属于一种中间件,或者说、任何一个过程单元,本质上都属于是一个中间件。

      我们不能因为担心“中间件”可能存在问题,而否定、排斥使用中间件的做法。因为它们无所不在。

2.使用 “中间件”,这是“避免重复造轮子”的一种表现。

3.选择恰当的 “中间件”,就有了 60%以上的概率,来保证项目的成功。

“单位创造”,诞生于对各种“中间件”的厨师式的整合。

创造有具体的,也有抽象的。

全新创造的初期,大多来源于“模仿”,诞生的厨师式的组合与整合。

从战略的高度,树立起“针对中间件编程”的思想

1. 模块/部件的分类方法之一

      纯软件型、纯硬件型、软硬件混合型。

2. 按钮 -->> MCU中的代码 -->> LED显示

      将“按钮”和“LED显示”这两种纯硬件型的模块/部件,视为是两极的终端,则“MCU中的代码”就是“中间件”。

      将“成品材料”和“成品按钮”视为是两极的终端,则它们在两极终端之间的产出,也属于细化了的“中间件”。

3. 克服全程编程的思想,避免重复造轮子。

全程编程?所有的过程与逻辑,都由程序员自己来掌控,试图把控编程过程中的一切,这不现实@!

编程离不开编译器,为了获得全程的把控,难到程序员也有自己来开发“编译器”吗?

“中间件编程”,复杂场景,以应对复杂的客观现实;变化场景,以获得最佳的结果

1. “中间件编程”,战略上的永远,战术上的不可能永远。

针对“操作系统型的中间件”编程,有的应用不必考虑编写底层驱动,因为 OS厂家已经给出了标配。

有的应用必须考虑编写底层驱动,因为 OS厂家默认给出的驱动,不可能做到无所不包。

2. “正无穷大”属于战略上的永远。

在现实生活的绝大多数场景里,人们需要的却是具体的数值;在战术上,永远并不见得是人们所需要的东西。

无处不在的中间件

在坐标系的“负无穷大”和“正无穷大”之间,都属于“中间件”。

相对于在坐标区间的两端,其中间部分,就属于“中间件”。

“中间件”的粒度划分,也是无穷的,就如坐标区间的划分一样,每一个坐标区间都可被视为是一个整体的颗粒。

没有最好,只有更好:每一个颗粒的完整性划分,和坐标区间一样;在不同的应用场景之下,会存在一个合理的划分范围。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值