軟件思想的進(jìn)化和相通
我知道的軟件思想至今發(fā)展的主要過(guò)程:面向過(guò)程 -》OO-》DDD-》DCI
始終是一個(gè)進(jìn)化的過(guò)程,OO解決了面向過(guò)程的封裝,但他依然是基于靜態(tài)的分析;DDD提供了面向應(yīng)用業(yè)務(wù)的分析指導(dǎo),但是他沒(méi)有直接提供解決對(duì)象變化的指導(dǎo);DCI提供了系統(tǒng)模型分析的指導(dǎo),他沒(méi)有解決。必然有,但我還沒(méi)有看到。
思想是漸進(jìn)式的,對(duì)于思想的理解也是漸進(jìn)的。
OO開(kāi)始提供了思想基礎(chǔ)但是缺少實(shí)踐方式,在以后的時(shí)間里他始終影響著軟件的思考方式。DCI的上下文中角色的轉(zhuǎn)變其實(shí)也源于此。在傳統(tǒng)上我們分析了角色的職能,但是往往忽視了“本體”與“角色”間的區(qū)別,從而得到了一個(gè)本體中需要實(shí)現(xiàn)多個(gè)角色的分析結(jié)果也是困惑。
DCI中說(shuō)明了在不同的上下文中本體的角色是可以被替換的,這樣本體和角色又再次成為了分隔的獨(dú)立,互不依賴。如果角色可以在運(yùn)行時(shí)刻被賦予本體,那么AOP、SOA與DCI也建立了關(guān)聯(lián),同時(shí)IOC也成為了將本體組裝角色的實(shí)踐。在各個(gè)思想和實(shí)踐方式中對(duì)的內(nèi)容將共同的被保留和進(jìn)化,并最終必然的找到契合點(diǎn)。
我認(rèn)為軟件可以理解位自然世界的映射,所有需要軟件解決的問(wèn)題和解決方法必然存在于自然世界中,OO表達(dá)了這樣的思想。OO是基礎(chǔ)和思想的源泉,同時(shí)在今后很久(或者***,除非誕生了全新的軟件實(shí)踐方式)都將是我們思想基礎(chǔ)。后來(lái)者在研究和學(xué)習(xí)各種名詞和思想之前應(yīng)該認(rèn)真深入的思考OO,如果在這個(gè)步驟上出現(xiàn)了失誤和偏差在后面的過(guò)程中彌補(bǔ)是需要付出很多代價(jià)的。
希望通過(guò)本文的介紹,能給你帶來(lái)幫助。
【編輯推薦】