關於SOA的概念理解

SOA的英文原文是:Service Oriented Architecture,翻譯過來就是:面向服務的架構。

 

我想一九九六年Gartner公司提出SOA的時候也只是把它當一種架構,當時Gartner公司是否能想到今天的SOA能風靡世界就不得而知了。

 

我想太多的思想誕生那日,是不會想到它的明天會是什麼樣子的,它的發展會是什麼樣子的。孔夫子一生傳道,一生落魄,他不會想到他的思想會影響我中華民族幾千年,釋迦牟尼從金剛臺上走下來的時候,耶穌基督開始向他第一個信徒傳教的時候他們都不會想到自己的思想會影響整個世界。

 

SOA亦然。

 

從二進位的0,1編碼到彙編再到C,C++,從結構化思想,物件導向思想,再到面向元件,軟體編碼思想一直在模組化的道路上不斷前進,不斷的向更高的抽象發展。這一切都是局限在某個平臺,某種程式設計語言或者說某種具體的技術之上的。

 

讀到這裡我們是否會想到如果軟體王國是某種平臺,某種語言一統天下該多好啊?然而大雪紛飛,世界為之一統,這不是繁榮,而是蕭條的徵兆;百花齊放,百鳥爭鳴才是軟體王國的春天。任何事物都是雙刃劍,從UNIX,LINUX,JAVA虛擬機器揭杆而起,異構問題開始困擾整個軟體世界。

 

那我們現在再回到SOA,SOA的中“A”,Architecture,架構,借用釋家的語言風格來說,SOA即非Architecture,是名Architecture。SOA不是一種架構,像服務匯流排(ESB)架構,更不是Web Service技術。SOA只是名“A”而非“A”,實質上是一種思想,我想這是它後來發展的結果。這種思想超越了一切具體的技術和架構,又包容一切具體的技術和架構。

 

SOA思想強調介面描述和元件實現及傳輸協定的分離。介面清晰良好的定義之後,應該能包容一切具體的實現和具體的傳輸協議。介面的背後管他是什麼語言,管他是什麼平臺,這些都不應該與介面緊密的綁定。Web Service元件與SOAP/HTTP傳輸協定的緊密耦合,JMS元件與JMS協定的緊密耦合以及EJB元件與RMI協定的緊密綁定這都是不符合SOA思想的。

 

在我的理解中,軟體世界裡的SOA是一種無上理想化的思想,它包容天地,就像共產主義之與我們生活的這個世界,SOA思想的實現我想你我都看不到,你我的孫子也看不到。但有這種指導思想總是好的,就像人活著有種信仰總是好的,不管你是道家,釋家弟子,伊斯蘭教徒還是基督徒。

 

ans-se�;o� m�h'>

強不變模式:

弱不變模式之所以弱,是因為它控制不了它的子類,那讓不變類可以控制它的子類就可以克服弱不變模式的兩個缺點了。

把所有的方法前面加上final.

或者:

把類前面加上final.

世界清靜了!

 

 

不變模式在Java中的應用:

只引用代碼不解釋

public final classString

implements java.io.Serializable, Comparable<String>,CharSequence

{

    private final char value[];

 

    private final int offset;

 

    private final int count;

 

    private int hash; // Default to 0

 

    private static final long serialVersionUID = -6849794470754667710L;

……

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值