(夜深了,想入松一下,就來到了這里,嗯,順便整理一下以前的所學)
?????????我在這里想從人類的思維方面來理解各種編程領域里的設計思維,畢竟編程領域里的設計思維來自現實世并是維妙維悄地體現地現實世界。
?????????由于人類思維的連續性,所以在初期的編程是我們所熟知的面向過程。它體現了人類對社會及自然界的現象思考的方式,處于最底層的思維,把事物分離開來,而是針對事情的發展,前因后果,接照規律來運行著。等到我們用分離的眼光來看待現實世界時,便有了面向對象,把世界看成獨立的各體,各體與各體之間存在著種種聯系,彼此你影響著我,我影響著你,這便組成的了這個精彩的世界。嗯,下面是面對組件,這個詞兒在現實世界里不適合,我們暫且改為面向部落吧。好吧,我們繼續。當人類社會的發展,人們開始聚集起來,這便成了部落,部落與部落之間也存在著聯系,你給我提供一些服務,我也給你提供一些服務,但部落之內但不是像人與人之間的聯系那個關系人命了(_^^_)。所以這種關系逐漸淡化了一點,但仍然存在著,并相互連系著呈現一個完美的世界。下面的是面向服務,也就是我們的SOA了,在這里我也想換個詞,面向國家,嘿嘿。當今世界,我們可以看到,國家與國家之間的關系網是縱橫交錯,但有一點,可以說是一定的,某個國家不會因為另個一個國家的存亡而存亡,這里說的國家單從民族上來講的。所以,關系進一步淡化。
?????????嗯,來點總結吧:從面向過程到向面對象到基于組件再到面向服務是不是也存在這個現實世界里的變化呢?我個人的答案是:是,這種設計思維的遞增,正體現了,粒度的增大,牽連的淡化,也就是術語上的高內聚,松耦合。個體與個體之間的向內一致與向外一致。對于正在發展壯大的面向服務設計與構架思維來說,它體現了服務的獨立性,服務之間通信的一致性。需要則給,不需要則不給,不能滿足再加,這會給帶來設計的高度自由性,系統的高度擴展性,維護性,與重用性。