Atitit 面向對象編程(OOP)、面向組件編程(COP)、面向方面編程(AOP)和麵向服務編程(SOP)的區別和聯繫 1. 面向組件編程(COP) 所以,組件比起對象來的進步就在於通用的規範的引入。通用規範往往能夠為組件添加新的能力(就像上面所討論的), COP比OOP更進一步。通常OOP將數據 ...
Atitit 面向對象編程(OOP)、面向組件編程(COP)、面向方面編程(AOP)和麵向服務編程(SOP)的區別和聯繫
1. 面向組件編程(COP)
所以,組件比起對象來的進步就在於通用的規範的引入。通用規範往往能夠為組件添加新的能力(就像上面所討論的),
COP比OOP更進一步。通常OOP將數據對象組織到實體中。這種方法具有很多優點。但是,OOP有一個大的限制:對象之間的相互依賴關係。去掉這個限制的一個好的想法就是組件。組件和一般對象之間的關鍵區別是組件是可以替代的。
3、什麼是面向方面編程(Aspect-Oriented Programming)?
將通用需求功能從不相關類之中分離出來;同時,能夠使得很多類共用一個行為,一旦行為發生變化,不必修改很多類,只要修改這個行為就可以。
AOP就是這種實現分散關註的編程方法,它將“關註”封裝在“方面”中。
作者:: ★(attilax)>>> 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍, EMAIL:[email protected]
轉載請註明來源: http://www.cnblogs.com/attilax/
4、什麼是面向服務編程(Service-Oriented Programming)?
SOP是一種體繫結構,目標是在軟體代理交互中獲得鬆散耦合
這裡的好處就是你可以用不同的CD機去播放同一張CD。他們能提供同樣的CD播放服務,但是服務質量是不同的。
SOP的思想明顯不同於面向對象的編程,面向對象編程強烈的建議你應該將數據與其操作綁定。因此在面向對象編程風格中,每張CD 有它自己的CD播放機,他們之間不能被拆開。這聽起來很奇怪,但是這就是我們建立許多已存軟體系統的方式。
而SOP就不一樣了,為了減少異構性、互操作性和不斷改變的要求的問題,這樣的體繫結構應該提供平臺來構建具有下列特征的應用程式服務:
鬆散耦合、位置透明、協議獨立
基於這樣的面向服務的體繫結構,服務使用者甚至不必關心與之通信的特定服務,因為底層基礎設施或服務“匯流排”將代表使用者做出適當的選擇。基礎設施對請求者隱藏了儘可能多的技術。特別地,來自不同實現技術(如 J2EE 或 .NET)的技術規範不應該影響 SOP用戶。如果已經存在一個服務實現,我們就還應該重新考慮用一個“更好”的服務實現來代替,新的服務實現必須具有更好的服務質量。
參考資料
面向對象編程(OOP)、面向組件編程(COP)、面向方面編程(AOP)和麵向服務編程(SOP) - 始則轉俗成真,終乃回真向俗! - 博客頻道 - CSDN.NET.html