首页 » 程序员必读之软件架构 » 程序员必读之软件架构全文在线阅读

《程序员必读之软件架构》3. 要学会去做,然后忘掉

关灯直达底部

朋友跟我聊他家的两岁小孩:我刚把桌子收拾好,一转眼杯子碗筷什么的都全摔地上了。我问:“怎么了?”他说:“小孩子什么也不懂啊,她看到桌布觉得喜欢,就一把抓过去……”

小孩子没能看到桌子上还有杯子,但正因为他们的视线里没有杯子,他们的行动才简单直接,才直达需求,才迅速。而我们的眼睛里有杯子、桌子、桌布等一切,我们经年累月地维护着其中的次序与关系直到这些东西混成一体,然后我们便日日坐守在它们的面前,而又无觉他们的存在。

正是我们自己不知不觉地设定了这些事物之间的界线,并把这些界限、层次与逻辑井然的东西称为“系统”。当我们从那些无序的事物中识别出了这样的“系统”并用一些概念、名词去定义了它们之后,我们对此的一切知识也就固化了。当这种秩序被建立起来之后,我们也就得到了对有序和无序(没有你所设定的“这种秩序”)价值的识别与肯否;当我们设定了种种价值、观念、观察与系统的模型概念之后,也就完成了这个系统的架构。

但这一过程,包括完成这一架构——它可以命名为“世界观”——的方法以及结果,在本质上不过是让你从一个格子跳到了另一个格子而已。我们处在种种界限之中,再也无法回到两岁小孩的、一切无碍的视角:在那个视角下,根本就没有所谓的界线。你之所以时时在寻求跨界,其实是源自你假设了“存在界线”,这就如同全栈的含义其实是“没有栈”,而当有人信心满满地要“成为全栈工程师”时,他的眼里便又有个“这个栈”的存在。

所谓跨界不是指你能力与方法上的变化,你的作为取决于你的格局,你的格局取决于你的所见。