面向?qū)ο笈c面向組件

面向?qū)ο笈c面向組件

ID:16036306

大小:37.50 KB

頁數(shù):2頁

時間:2018-08-07

面向?qū)ο笈c面向組件_第1頁
面向?qū)ο笈c面向組件_第2頁
資源描述:

《面向?qū)ο笈c面向組件》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、一、概念面向?qū)ο缶幊蹋∣OP):面向?qū)ο缶幊淌且环N起源于六十年代,發(fā)展已經(jīng)將近三十年的程序設計思想。其自身理論已十分完善,并被多種面向?qū)ο蟪绦蛟O計語言(Object-OrientedProgrammingLanguage,以下簡稱OOPL)實現(xiàn)。對象是對現(xiàn)實世界實體的模擬,由現(xiàn)實實體的過程或信息牲來定義。一個對象可被認為是一個把數(shù)據(jù)(屬性)和程序(方法)封裝在一起的實體,這個程序產(chǎn)生該對象的動作或?qū)λ邮艿降耐饨缧盘柕姆磻?。這些對象操作有時稱為方法。區(qū)別面向?qū)ο蟮拈_發(fā)和傳統(tǒng)過程的開發(fā)的要素有:對象識別和抽象、封裝、多態(tài)性和

2、繼承。面向組件編程(COP):面向組件編程是一種組織代碼的思路,尤其是服務和組件兩個概念。Spring框架中,就采用了COP的思路,將系統(tǒng)看作一個個的組件,通過定義組件之間的協(xié)作關系(通過服務)來完成系統(tǒng)的構建。這樣做的好處是能夠隔離變化,合理的劃分系統(tǒng)。而框架的意義就在于定義一個組織組件的方式。組件不是一個新的概念,Java中的javaBean規(guī)范和EJB規(guī)范都是典型的組件。組件的特點在于他定義了一種通用的處理方式。例如,JavaBean擁有內(nèi)視的特性,這樣就可以通過工具來實現(xiàn)JavaBean的可視化。而EJB規(guī)范定義了

3、企業(yè)服務中的一些特性,使得EJB容器能夠為符合EJB規(guī)范的代碼增添企業(yè)計算所需要的能力,例如事務、持久化、池等。二、區(qū)別1、面向?qū)ο笾?,對象之間的交互是細粒度的,通過單個消息進行交互;面向組件中組件的交互是通過接口連接進行交互,接口內(nèi)含有多個消息,接口不同則需要適配。比如,信件一封一封的送,是對象之間的交互,信件一次性送完是組件交互。2、組件的粒度比對象要大,在面向?qū)ο笙到y(tǒng)設計中,對象是構建系統(tǒng)的基本建筑材料;面向組件系統(tǒng)開發(fā)中,組件是系統(tǒng)的基本建筑塊;組件有點類似子系統(tǒng)的概念,把一組相關的對象封裝起來對外提供服務;組件的

4、存在增加了信息的隱蔽程度,減少了饋入上層信道的信息數(shù)量,從而增加了系統(tǒng)的穩(wěn)定性;2、面向?qū)ο笾袕娬{(diào)封裝,繼承,多態(tài);對象是類的實例,說到對象,往往是指源代碼級的類的定義及其實現(xiàn);在面向組件強調(diào)封裝,在復用方面更多的是強調(diào)黑盒復用。組件中,接口的概念特別被強調(diào)。接口是組件的和組件使用者之間的契約;接口的確定使得組件的開發(fā)者和使用者得以分開。3、組件集中關注業(yè)務的職責,明確業(yè)務邊界;對象關注同一業(yè)務的所有方面。假如業(yè)務復雜的話,同一個概念實體,可能包含1000個屬性,而這1000個屬性可以分類成多個方面,用面向?qū)ο蠓椒?,那么?/p>

5、對這1000個屬性的操作,就會封裝在這個對象里,結(jié)果所有操作因為所針對的屬性捆綁,而捆綁,不能達到部分重用。組件提供了更好的方式,針對這1000個屬性的操作按職責分在不同的業(yè)務組件里,同時部分有公用可能的組件也可針對其他業(yè)務的提供某些方面的重用。4、作為構建系統(tǒng)的基本建筑塊,組件需要容器的幫助。容器為組件提供了運行環(huán)境,使組件能在一個較高的平臺上完成自己最擅長的工作而不用考慮過多的底層細節(jié)。在組件中往往要實現(xiàn)一些容器所需的回調(diào)方法,來進行容器與組件間的溝通。容器也向組件提供一些公用的接口,使組件能夠使用容器提供的服務(事務

6、,安全等等)。容器的存在使得組件的使用者與組件的組裝(配置)者得以分開。組件總是一定容器內(nèi)的組件。由于組件生活在容器中,組件的管理尤其是生命周期的管理就成了容器的職責。生存在容器中,組件的狀態(tài)(state)、持久性、通信方式也是必須要考慮的一些問題。由此產(chǎn)生了組件的類別。5、領域模型本身反映了現(xiàn)實世界的根本復雜性,組件針對的是領域模型的某個方面的相關屬性和相關操作。就像面向方面思想一樣,核心關注的是概念實體本身,方面則是按邏輯相關性分組的相關屬性和相關操作。不同類型的實體核心關注的是不一樣的,但一定某幾個非核心方面存在類似

7、。對于實現(xiàn)來說,可以為每個方面申明一個父類,然后從多個方面繼承。三、優(yōu)缺點項目優(yōu)缺點優(yōu)點缺點面向?qū)ο缶幊?、使人們的編程與實際的世界更加接近,所有的對象被賦予屬性和方法,結(jié)果編程就更加富有人性化。2、易維護;3、易擴展;1、相比面向過程(比如:c)的開發(fā)方式從性能上要遜色些。面向組件編程1.組件的大小粒度可調(diào);2.我們可以專注于業(yè)務的實現(xiàn),而不需要考慮于業(yè)務無關的編碼;3.從最大程度上提高了業(yè)務功能的復用與解耦;4.采用了穩(wěn)定的組件包,增強了應用的穩(wěn)定性和健壯性.;5.采用組件編程,編寫的代碼更少,但是功能更強,更穩(wěn)定.1

8、、面向組件編程對代碼的要求很高,需要大家一起來探討和共享;2、相比面向?qū)ο缶幊淘诮M件與組件之間通信時可能會消耗性能,但采取適當?shù)膮f(xié)議和數(shù)據(jù)格式可能會減小些;

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。