“現(xiàn)在?現(xiàn)在就參加需求討論?”當(dāng)孔如之告訴林峰自己的任命決定時(shí),林峰感到很驚訝。當(dāng)孔如之叫林峰馬上去參加需求討論時(shí),林峰感到更加驚訝了?!笆堑?。我們的架構(gòu)中要有這樣一層?!笨兹缰叩桨装迩爱嬈饋恚骸澳憧矗跞卣趯懶枨蠊适?。這是一系列有層次的故事。從面到點(diǎn),從粗到細(xì)。” 林峰點(diǎn)點(diǎn)頭。
“在我們點(diǎn)餐軟件開發(fā)架構(gòu)中,有一個(gè)和需求故事對應(yīng)的層。這個(gè)層完全由接口組成。它代表了故事的結(jié)構(gòu)和線索。這將使我們的程序結(jié)構(gòu)非常清晰。”
林峰張大了嘴,他從來沒有聽到過這種說法,準(zhǔn)確地說,他知道應(yīng)該有一個(gè)業(yè)務(wù)層,但是如此精確地和需求故事匹配的說法,他沒有聽到過。 “不會(huì)有什么問題吧?”林峰有點(diǎn)莫名的擔(dān)心?!叭绻袉栴},那就是需求故事沒有講好。考慮到需求故事變化的可能性,我們要用到BPM來靈活重組故事的結(jié)構(gòu)?!笨兹缰托牡亟忉尩溃骸斑@也是SOA思想的一部分。我們要面向服務(wù)來構(gòu)架系統(tǒng)?!绷址寤腥淮笪颍R上理解了孔如之的意思。
點(diǎn)餐軟件開發(fā)軟件架構(gòu)的本質(zhì)世界上的萬事萬物都具有某種特定的結(jié)構(gòu)。不僅如此,在組成結(jié)構(gòu)的元素間通常還存在著一定的動(dòng)態(tài)關(guān)系。在軟件領(lǐng)域中,有一個(gè)詞被用來描述這種靜態(tài)的結(jié)構(gòu)以及結(jié)構(gòu)元素間的動(dòng)態(tài)關(guān)系,那就是架構(gòu)。與自然產(chǎn)物不同,架構(gòu),作為人類的創(chuàng)造物,一定是在有意識(shí)地規(guī)劃和控制下完成的。
對于一個(gè)點(diǎn)餐軟件開發(fā)系統(tǒng)來說,沒有什么比架構(gòu)更重要。因此,如何設(shè)計(jì)軟件架構(gòu),是企業(yè)協(xié)作辦公軟件系統(tǒng)成功與否的關(guān)鍵??茖W(xué)家們一直在嘗試解釋宇宙:他們從紅移現(xiàn)象,推斷宇宙正處在膨脹之中;從微波背景輻射,推斷宇宙起源于百億年前的一次大爆炸;從光的彎曲實(shí)驗(yàn),推斷四維空間模型。他們嘗試用周期性爆炸理論,來打破宇宙只有150億年歷史的限制;用黑洞理論,來解釋時(shí)空模型。
凡此種種,盡管科學(xué)家們做了很大的努力,但是直到今天,我們對宇宙的認(rèn)識(shí)仍然非常有限。科學(xué)家們也在嘗試解釋生命:他們推斷,生命起源于非生命物質(zhì)的化學(xué)反應(yīng),可是無法重現(xiàn)這個(gè)過程;他們發(fā)現(xiàn)了DNA分子雙螺旋結(jié)構(gòu),把生命的解釋推向了非生命層次,可是仍然無法創(chuàng)造生命;他們已經(jīng)了解了大腦的物質(zhì)組成,可是不能解釋智慧。總之,人類對生命的認(rèn)識(shí)仍然非常有限。