“第三,也是最核心的,‘邮差’和‘邮路’的问题!”
他在第三个分支下重重地写下“投递机制”。
“我们的‘邮差’是谁?是操作系统内核‘天枢’吗?还是一个独立于内核之外的全新的调度模块?”
“信件是直接从一个对象发送到另一个对象,还是需要一个统一的‘邮政总局’来进行中转和分发?”
“如果是直接发送,效率可能很高,但我们如何保证信件在路上不会丢失?如何处理‘收件人’正忙无法收信的情况?”
“如果是统一中转,系统会更有序更可靠,但这个‘邮政总局’会不会成为整个系统的性能瓶颈?”
黄建功每提出一个问题,在场的专家们脸色就凝重一分。
刚刚因为找到方向而产生的轻松感,迅速被这些具体而刁钻的工程难题所取代。
这三个问题,每一个,都是一座需要被攻克的技术大山。
“我先说一下我对‘地址’问题的看法。”
短暂的沉默后,负责“盘古之心”硬件架构的孙立国站了起来。
他是一个不善言辞但思想极为缜密的技术专家。
“在硬件层面,我们能提供的最直接的‘地址’就是内存地址。每一个对象在创建的时候都会在内存中占据一块空间。这块空间的首地址是天然的、独一无二的。”
“所以我们可以简单地把对象的内存地址直接当作它的‘通信地址’。”
这个提议听起来非常直观,也很有道理。
立刻就有人附和道:“我同意孙工的看法。用内存地址做对象地址,简单直接,效率也最高。我们的‘邮差’可以直接根据地址找到对象在内存里的位置。”
钱学敏立刻摇了摇头。
“不行,这太危险了。”
她的声音不大,但所有人都听了过去。
“如果把内存地址直接暴露给所有对象,那就意味着任何一个对象都可以通过这个地址绕过‘消息’机制,直接去读写另一个对象的内部数据。”
“这等于是在我们刚刚建立起来的‘对象’围墙上开了一个谁都可以随意进出的大门!”
“那我们辛辛苦苦实现的‘封装’还有什么意义?整个‘对象’的思想根基就都崩塌了!”
钱学敏的话让刚刚还觉得这个方案不错的人瞬间惊出了一身冷汗。
是啊。
“对象”的核心思想之一就是“封装”,就是将自己的