第696章 分工与封装的启示!_四合院开局四八,八岁带妹逃荒 首页

字体:      护眼 关灯

上一章 目录 下一章

第696章 分工与封装的启示!

李兴华的大脑,在以一种前所未有的,疯狂的速度,运转着。

眼前那幅温馨而日常的画面,在他的眼中,被迅速地,分解,重构,变成了一张,闪烁着智慧光芒的,系统架构图!

那个“拆骨匠”王小牛!

他不是一个孩子!

他是一个“模块”!一个独立的,功能性的,代码模块!

这个模块,拥有一个,唯一的名字——“拆骨匠”。

它拥有一个,唯一的功能,一个“方法”(Method)——`separate_bone_from_meat()`(从肉中分离骨头)。

它拥有一个,私有的,“不对外开放”的工具,它的“属性”(Attribute)——那把厚重的砍骨刀。

它接收一个“输入”(Input)——一只完整的兔子。

它产生两个“输出”(Output)——“兔肉”和“兔骨”。

而那个“切肉丁”王小花!

她,是另一个,独立的模块!

她的名字,叫“切肉丁”。

她的功能(方法),是`cut_meat_into_cubes()`(将肉切成方块)。

她的私有工具(属性),是那把小巧的厨刀。

她接收的“输入”,是来自“拆骨匠”模块的输出——“兔肉”。

她产生的“输出”,是“肉丁”。

而老师!

那个自称为“总厨”的,王小虎!

他,就是整个系统的,主程序!是`main()`函数!

他,作为“总厨”,他需要知道,如何去拆骨,如何去切肉吗?

不需要!

他完全不需要!

他甚至,不需要知道,“拆骨匠”用的是什么刀,“切肉丁”的刀法,有多快!

那些,都是属于“拆骨匠”和“切肉丁”这两个模块,内部的,私有的,秘密!

“总厨”唯一需要做的,就是,在需要骨头的时候,向“拆骨匠”发出一个“请求”(Request)——“把骨头给我”。

在需要肉丁的时候,向“切肉丁”发出一个“请求”——“把肉丁给我”。

然后,他就可以,拿着这些,由其他模块处理好的,“半成品”,去完成他自己的,更高级的,烹饪任务!

这就是……

这就是……

一个词,如同开天辟地的惊雷,狠狠地,劈在了李兴华的脑海里!

“封装(Encapsulation)!”

对!就是封装!

将模块内部的复杂实现(如何拆骨,如何切肉),和它的私有数据(那两把不同的刀),都“封装”起来,隐藏起来!

只对外,提供一个,清晰的,简单的,“接口”(Interface)!

(给我骨头/给我肉丁)。

这样一来,“总厨”这个主程序,就变得,无比的,简洁!清晰!

他不需要去关心那些,繁琐的,底层的细节!

他只需要,去组织,去调用,这些功能独立的模块,来完成一个,更宏大的目标!

李兴华的身体,因为极致的兴奋,而开始,微微地,颤抖起来。

他终于明白了!

他终于明白,钱学敏教授口中的,那个“全新的建筑学”,到底是什么了!

他们之前的做法,是什么样的?

是没有分工!

是黄建功总工程师,一个人,既要负责拆骨,又要负责切肉,还要负责掌勺!

当工程变得无比庞大时,他一个人,就算有三头六臂,也必然会,被这些无穷无尽的细节,活活累死!

而老师,现在,给出的这条路,是多么的,优雅!

多么的,高明!

分工!

解耦!

封装!

将那座,像紫禁城一样复杂的“昆仑”系统,拆解成,成百上千个,像“拆骨匠”、“切肉丁”一样,功能单一,职责明确的,独立的,“模块”!

让不同的团队,去负责,不同的模块!

而黄建功总工程师,他要做的,不再是去当那个,所有细节一肩挑的,苦力。

他要做的,是像老师一样,去当那个,运筹帷幄的,“总厨”!

去设计,整个系统的顶层架构!

去定义,这些模块之间,该如何,相互调用,相互“请求”!

这……

这才是真正的,“工业化”的,生产方式!

这,才是那座,需要二十年才能建成的,宏伟巨城,唯一的,希望!

李兴华的眼睛,湿润了。

他看着那个,正在有条不紊地,指挥着弟弟妹妹,处理着食材的,小小的身影。

心中,涌起了,无尽的,狂热的,崇拜。

他以为,自己那个关于“模具的模具”的问题,已经,触及到了思想的极限。

此刻他才发现,自己的那点想法,在老师这真正的,大道至简的“创世法则”面前,是多么的,幼稚,可笑。

他甚至,还没有开口。

老师,就已经,将答案,活生生地,展现在了他的面前。
记住手机版网址:m.lewenwx.cc
加入书签我的书架

上一章 目录 下一章