我的體會是,對于企業(yè)微信公眾號開發(fā)來說,技術真的非常重要。 很多企業(yè)微信公眾號開發(fā)組織,在項目或產(chǎn)品的開發(fā)過程中,不重視領域模型,這導致他們無法有效地積累自己的知識。在第10章中,我們會討論知識資產(chǎn)的話題。
當領域模型變得混亂的時候(這種情況太常見了,我們總是可以看到:軟件開發(fā)人員會根據(jù)需要任意修改模型;或者,由于建模不當,在查找一個信息時要使用10個以上的對象關系),軟件實現(xiàn)也變得混亂了。 如果企業(yè)微信公眾號開發(fā)實現(xiàn)被建立在隨意變化的模型上,它們就不可能成為長期有價值的知識。在這種情況下,軟件開發(fā)就像被挾持在一艘失去控制的航船上,在一條顛簸的航線上漸行漸遠。場景故事點評:孔如之對于領域模型是非常重視的。他經(jīng)過深思熟慮后,拋棄了核心系統(tǒng)的數(shù)據(jù)模型,而使用了ACORD標準作為領域模型。關于這一點,我們可以去看他和林峰的一段對話。
孔如之認為,標準化永遠是工作的方向。這個想法是正確的。另外,使用統(tǒng)一的領域模型也是他對于領域模型的基本認識。在工作中,這些想法已經(jīng)影響到了林峰,并且被林峰接受了。 于倫并沒有認識到這一點,他和林峰為此曾經(jīng)有過一次尖銳的沖突。作為決策者,他使用了用ID做參數(shù)的方案,并且聲稱對此負責。
我們通過領域模型來對客觀事物的信息進行數(shù)學抽象。有時,我們還會從不同的角度對抽象進行再次抽象。例如,計算過程的結構是針對領域中具體行為的抽象,而計算模型則是對計算過程的結構進行的再次抽象。與領域模型(包含數(shù)據(jù)結構和計算過程的結構)不同,計算模型幾乎超出了數(shù)學的范疇,它可以說是“數(shù)學的抽象”。迄今為止,很多計算模型都沒有數(shù)學上的表達。我們看到的計算模型常常是一些約束和規(guī)則,例如,企業(yè)微信公眾號開發(fā)中分布式開發(fā)技術的應用解決模塊管理的問題。當然,我們也可以用數(shù)學來表達計算模型,并在“數(shù)學的抽象”這個級別上進行計算。不過,要完成這個任務,我們需要更多的符號和定義。
領域模型中的行為對象定義了計算過程的結構,但是沒有給出計算的具體實現(xiàn)。例如,很多領域模型軟件定義了保險業(yè)務中的保費計算,但是往往沒有給出保費計算的具體實現(xiàn)。一般來說,要完成一個計算,除了計算過程的結構之外,還有兩件事情需要考慮:一個是計算的邏輯實現(xiàn),一個是計算的物理實現(xiàn)。