溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Unity開發(fā)中介者模式介紹

發(fā)布時(shí)間:2021-09-17 10:13:28 來源:億速云 閱讀:144 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“Unity開發(fā)中介者模式介紹”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

0.前言

一個(gè)游戲中可能包含眾多子系統(tǒng)

  • 事件系統(tǒng)

  • 關(guān)卡系統(tǒng)

  • 角色管理系統(tǒng)

  • 成就系統(tǒng)

  • 游戲狀態(tài)界面

  • 角色信息界面

  • 暫停界面

子系統(tǒng)之間的交互如果沒有規(guī)劃好會(huì)出現(xiàn)交錯(cuò)引用的情況

Unity開發(fā)中介者模式介紹

而中介者模式在游戲開發(fā)中可以用來解除內(nèi)部子系統(tǒng)之間的耦合

Unity開發(fā)中介者模式介紹

1.中介者模式的介紹

中介者模式(Mediator)在GoF中是這樣說明的:

定義了一個(gè)接口用來封裝一群對(duì)象的互動(dòng)行為,中介者通過移除對(duì)象之間的引用,來減少它們之間的耦合度,并且能改變它們之間的互動(dòng)獨(dú)立性。

以房屋買賣的方式來說明中介者模式,可以這樣解釋:

中介公司是一個(gè)信息中心(對(duì)應(yīng)中介者),所有買家和賣家(所有子系統(tǒng))都通過中介公司來處理房屋的買賣。

2.在游戲開發(fā)中的實(shí)現(xiàn)方式

在游戲開發(fā)中我們是這樣實(shí)現(xiàn)中介者模式的

首先游戲會(huì)有兩大系統(tǒng)類:“游戲系統(tǒng)類”、“界面類”

我們定義好這兩種抽象類,并定義一些生命周期有關(guān)方法,然后在構(gòu)造方法中傳入中介者的實(shí)例。當(dāng)每創(chuàng)建一個(gè)新的系統(tǒng)類時(shí),都要繼承其中一個(gè)抽象類。這樣每個(gè)系統(tǒng)都會(huì)持有一個(gè)的中介者。我們?cè)谧鲎酉到y(tǒng)功能的時(shí)候,就不需要關(guān)心這個(gè)功能會(huì)跟哪個(gè)系統(tǒng)產(chǎn)生關(guān)聯(lián),只需要通過中介者的實(shí)例,通知中介者當(dāng)前子系統(tǒng)想完成什么功能就可以了,剩下的交給中介者去處理子系統(tǒng)之間的引用邏輯。當(dāng)然,所有子系統(tǒng)的構(gòu)造都在中介者中完成,中介者擁有所有子系統(tǒng)的訪問權(quán)限。

優(yōu)點(diǎn)

通過這樣的操作,我們便解除了子系統(tǒng)之間的耦合,并且所有子系統(tǒng)對(duì)外部的依賴縮小到了一個(gè)類。

缺點(diǎn)

需要注意的是,由于中介類擔(dān)任了所有游戲系統(tǒng)和UI界面之間的信息交換和溝通,很容易出現(xiàn)操作接口過于爆炸的情況,所以我們還需要配合其他設(shè)計(jì)模式來避免這種情況的發(fā)生,用來減輕中介類的負(fù)擔(dān)。

“Unity開發(fā)中介者模式介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI