面向函數->面向對象->面向SOA

70年代-80年代,自頂向下分析方法,核心是可以複用的函數,比如C語言的200多個函數庫。

80年代-90年代,出現了OO的分析和設計,核心是對象,是可以複用的組件。比如Struts這個框架,我們只需在這個框架上搭載一些自己的 Action,就可以體會到真正的MVC模式,而不是每個項目大家都去創造一個自己的FrameWork, 這就是組件複用的好處。

90年代後,OO方法逐漸不能滿足用戶需求變更加速和老系統集成的需求,所以出現了SOA,SOA的核心是服務。自頂向下分析方法以函數爲中心,OO以對象爲中心,SOA 以服務爲中心。

服務合組件的概念還是不一樣的。組件以功能複用爲核心,而服務以實際的企業應用爲一個單元劃分。比如訂單管理(OrderManager)可以是一個可以複用的組件,它僅僅提供自己的API,而訂單管理服務則是一個完整的企業行爲單元,可能包括 採購訂單--〉訂單審覈生效--〉進貨這樣一個業務流程。脫離了BPM純粹從技術上討論SOA是空洞的。


SOA主要目的是分佈式和減少服務和服務之間的耦合。這種耦合性減少和以對象和對象之間關係的耦合性減少是不一樣的,對象和對象之間關係的耦合性減少我們用IOC就可以很好的解決了。SOA耦合性的減少是服務和服務之間的耦合性減少。


也就是說,70年代-80年代,我們採用自頂向下分析方法做項目,80年代-90年代,我們用OO的分析和設計做項目,而現在,到了以服務爲核心的分析和設計方法作項目。SOA僅僅是OO 思想的一種發展和擴充。

利用SOA思想做概要分析和概要設計,OO思想做詳細設計,這就是我對SOA的理解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章