軟體思想的進化和相通

IceQi發表於2011-06-08
我知道的軟體思想至今發展的主要過程:程式導向 -》OO-》DDD-》DCI

始終是一個進化的過程,OO解決了程式導向的封裝,但他依然是基於靜態的分析;DDD提供了面向應用業務的分析指導,但是他沒有直接提供解決物件變化的指導;DCI提供了系統模型分析的指導,他沒有解決。。。。。必然有,但我還沒有看到。。。。。

思想是漸進式的,對於思想的理解也是漸進的。

OO開始提供了思想基礎但是缺少實踐方式,在以後的時間裡他始終影響著軟體的思考方式。DCI的上下文中角色的轉變其實也源於此。在傳統上我們分析了角色的職能,但是往往忽視了“本體”與“角色”間的區別,從而得到了一個本體中需要實現多個角色的分析結果也是困惑。

DCI中說明了在不同的上下文中本體的角色是可以被替換的,這樣本體和角色又再次成為了分隔的獨立,互不依賴。如果角色可以在執行時刻被賦予本體,那麼AOP、SOA與DCI也建立了關聯,同時IOC也成為了將本體組裝角色的實踐。在各個思想和實踐方式中對的內容將共同的被保留和進化,並最終必然的找到契合點。

我認為軟體可以理解位自然世界的對映,所有需要軟體解決的問題和解決方法必然存在於自然世界中,OO表達了這樣的思想。OO是基礎和思想的源泉,同時在今後很久(或者永久,除非誕生了全新的軟體實踐方式)都將是我們思想基礎。後來者在研究和學習各種名詞和思想之前應該認真深入的思考OO,如果在這個步驟上出現了失誤和偏差在後面的過程中彌補是需要付出很多代價的。

時間很短,簡單寫了。

相關文章