協(xié)作圖對(duì)在一次交互中有意義的對(duì)象和對(duì)象間的鏈建模。對(duì)象和關(guān)系只有在交互的才有意義。類元角色描述了一個(gè)對(duì)象,關(guān)聯(lián)角色描述了協(xié)作關(guān)系中的一個(gè)鏈。協(xié)作圖用幾何排列來(lái)表示交互作用中的各角色(如圖1)。附在類元角色上的箭頭代表消息。消息的發(fā)生順序用消息箭頭處的編號(hào)來(lái)說(shuō)明。
協(xié)作圖的一個(gè)用途是表示一個(gè)類操作的實(shí)現(xiàn)。協(xié)作圖可以說(shuō)明類操作中用到的參數(shù)和局部變量以及操作中的永久鏈。當(dāng)實(shí)現(xiàn)一個(gè)行為時(shí),消息編號(hào)對(duì)應(yīng)了程序中嵌套調(diào)用結(jié)構(gòu)和信號(hào)傳遞過(guò)程。
圖 1是開發(fā)過(guò)程后期訂票交互的協(xié)作圖。這個(gè)圖表示了訂票涉及的各個(gè)對(duì)象間的交互關(guān)系。請(qǐng)求從公用電話亭發(fā)出,要求從所有的演出中查找某次演出的資料。返回給ticketseller對(duì)象的指針db代表了與某次演出資料的局部暫時(shí)鏈接,這個(gè)鏈接在交互過(guò)程中保持,交互結(jié)束時(shí)丟棄。售票方準(zhǔn)備了許多演出的票;顧客在各種價(jià)位做一次選擇,鎖定所選座位,售票員將顧客的選擇返回給公用電話亭。當(dāng)顧客在座位表中做出選擇后,所選座位被聲明,其余座位解鎖。
順序圖和協(xié)作圖都可以表示各對(duì)象間的交互關(guān)系,但它們的側(cè)重點(diǎn)不同。順序圖用消息的幾何排列關(guān)系來(lái)表達(dá)消息的時(shí)間順序,各角色之間的相關(guān)關(guān)系是隱含的。協(xié)作圖用各個(gè)角色的幾何排列圖形來(lái)表示角色之間的關(guān)系,并用消息來(lái)說(shuō)明這些關(guān)系。在實(shí)際中可以根據(jù)需要選用這兩種圖。
新聞熱點(diǎn)
疑難解答