996引擎-源碼學習:PureMVC Lua 中的 Facade 類

996引擎-源碼學習:PureMVC Lua 中的 Facade 類

  • 1. 核心概念
    • 1.1 外觀模式
    • 1.2 多例模式
  • 2. 關鍵組件
    • Notification
    • Controller:
    • Model
    • View
  • 3. 主要功能
  • 4. 初始化流程
  • 5. 通信機制
  • 6. 生命周期管理
    • 1. Facade 初始化流程圖
    • 2. 發送通知時序圖
  • 中介者 PlayerBestRingLayerMediator
    • OpenLayer 打開界面
    • 3. 類圖

1. 核心概念

1.1 外觀模式

Facade 是 PureMVC Lua 框架的核心類
(見名知意,它是一個外觀模式)用于為復雜子系統提供一個簡單接口。它封裝了框架的核心組件(Controller、Model、View)及其交互邏輯。外觀模式將子系統與客戶端進行解耦,提高子系統的獨立性和可移植性。

1.2 多例模式

Facade 類又采用了 Multiton 模式。(外觀+多例)模式

  1. 獨立管理:適用于大型應用,為不同子應用或模塊創建各自的 Facade 實例,
    如游戲中的主游戲、商城、社交模塊,各模塊的 Command(命令模式)、Proxy(代理模式) 和 Mediator(中介模式) 由對應 Facade 管理,避免相互干擾 。
  2. 資源隔離:不同模塊的資源,如數據緩存、視圖組件等,通過各自的 Facade 實例獨立分配管理?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76331.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76331.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76331.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鏈式多分支規則樹模型的應用

目錄 開始調用 初始化 歡迎關注我的博客!26屆java選手,一起加油💘💦👨?🎓😄😂 引入 最近在學習一個項目中的鏈式多分枝規則樹模型的使用,模型如下: 如圖所…

GitLab之搭建(Building GitLab)

GitLab之搭建 “ 在企業開發過程中,GitLab憑借其強大的版本管理、CI/CD集成和項目管理功能,成為許多團隊的首選工具。本文將探討GitLab的基礎介紹、搭建過程、權限管理、代碼審查以及團隊知識管理等方面。通過詳細的步驟和實用的技巧,旨在幫…

藍橋杯 小藍的操作(一維差分)

問題描述 一個數組 aa 中共包含 nn 個數,問最少多少次操作,可以讓 aa 數組所有數都變成 11 。 操作的內容是:每次操作可以任選一個區間使得區間內的所有數字減 11 。 數據保證一定有解。 輸入格式 第一行一個整數 nn 表示有 nn 個整數。 …

C# net CMS相關開源軟件 技術選型 可行性分析

C# net CMS相關開源軟件 技術選型 可行性分析 OrchardCMS(微軟主導) https://github.com/OrchardCMS/OrchardCore https://docs.orchardcore.net/en/latest/ BSD Umbraco-CMS(丹麥) https://github.com/umbraco/Umbraco-CMS https://docs.umbraco.com/…

程序化廣告行業(77/89):融資、并購與上市全景洞察

程序化廣告行業(77/89):融資、并購與上市全景洞察 大家好呀!一直以來,我都希望能和大家一起在技術知識的海洋里暢游、學習進步。前面我們已經了解了程序化廣告行業的發展態勢、PC端和移動端投放差異以及行業融資的大致…

【解決方法】VMware 此平臺不支持虛擬化Intel VT-x/EPT

目錄 1. 引言2. 問題描述3. 解決方法3.1 方法一(臨時)3.2 方法二(此方法非常離譜,永久有效) 4. 🤑鼓勵一下5. 求關注6. 我的其他文章推薦 1. 引言 收集同學們遇到的各種VMware安裝、使用過程中遇到的問題&a…

項目學習總結001

1. 策略模式和工廠模式 https://mp.weixin.qq.com/s/RG-h7r69JyKUlBZylJJIFQ 在軟件開發中也常常遇到類似的情況,實現某一個功能有多個途徑,此時可以使用一種設計模式來使得系統可以靈活地選擇解決途徑,也能夠方便地增加新的解決途徑。這就是…

OpenHarmony 5.0版本視頻硬件編解碼適配

一、簡介 Codec HDI(Hardware Device Interface)對上層媒體服務提供視頻編解碼的驅動能力接口,主要功能有獲取組件編解碼能力,創建、銷毀編解碼器對象,啟停編解碼器操作,編解碼處理等。 Codec HDI 2.0接口…

深度解析基于 Web Search MCP的Deep Research 實現邏輯

寫在前面 大型語言模型(LLM)已成為我們獲取信息、生成內容的重要工具。但它們的知識大多截止于訓練數據的時間點,對于需要實時信息、跨領域知識整合、多角度觀點比較的深度研究 (Deep Research) 任務,它們往往力有不逮。如何讓 LLM 突破自身知識的局限,像人類研究員一樣,…

鴻蒙案例---生肖抽卡

案例源碼: Zodiac_cards: 鴻蒙生肖抽獎卡片 效果演示 初始布局 1. Badge 角標組件 此處為語雀內容卡片,點擊鏈接查看:https://www.yuque.com/kevin-nzthp/lvl039/rccg0o4pkp3v6nua 2. Grid 布局 // 定義接口 interface ImageCount {url:…

基于RV1126開發板實現自學習圖像分類方案

1. 方案簡介 自學習:在識別前對物體圖片進行模型學習,訓練完成后通過算法分類得出圖像的模型ID。 方案設計邏輯流程圖,方案代碼分為分為兩個業務流程,主體代碼負責抓取、合成圖像,算法代碼負責訓練和檢測功能。 2. 快速…

cat命令查看文件行數

在Linux和Unix-like操作系統中,cat命令主要用于查看文件內容,而不是直接用來查看文件行數。如果你想要查看一個文件的行數,可以使用以下幾種方法: 方法1:使用wc命令 wc(word count)命令可以用…

git清理已經刪除的遠程分支

目錄 命令作用 使用場景 示例流程 注意事項 常見問題 git remote update origin --prune git remote update origin --prune 是一個 Git 命令,用于 更新本地遠程跟蹤分支 并 清理(刪除)本地已失效的遠程分支引用。以下是詳細分解&#…

NLP高頻面試題(四十)——什么是 BitFit?

BitFit(Bias-term Fine-tuning)是一種參數高效的微調方法,專注于在預訓練模型中僅調整偏置項(bias term),而將其他參數保持不變。這種方法在自然語言處理領域,尤其是在中小規模數據集上,展現出了與全量微調相媲美的性能,同時顯著減少了計算資源的消耗。 什么是 BitFi…

Java-servlet(完結篇)過濾器亂碼解決與監聽器

Java-servlet(完結篇)過濾器亂碼解決與監聽器 前言一、過濾器亂碼解決二、監聽器1. HttpSessionListener2. ServletContextListener3. ServletRequestListener 三、監聽器的使用場景Java-servlet 結語 前言 在之前的 Java Servlet 學習中,我…

為了避免unboundLocalError和為什么X的值一直不變呢?

## 1.為了避免unboundLocalError 發生unboundLocalError! def generate_integer(level):if level 1:X randint(1,9)return X這里出錯的原因在于,一旦if 后面的條件沒有成立,然后X根本沒出生,然后你去使用它,這是有…

opencv-python基礎

一.opencv-python簡述 其使用Numpy,所有OpenCV數組結構都轉換為Numpy數組,是一個高度優化的數據庫操作庫。 二.環境安裝 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python 三.基本概念 - 像素是圖像的基本單元,每個…

ReentrantLock 實現公平鎖和非公平鎖的原理!

🌟我的其他文章也講解的比較有趣😁,如果喜歡博主的講解方式,可以多多支持一下,感謝🤗! 🌟了解 ThreadLocal請看: ThreadLocal有趣講解,小白也能聽懂&#xff…

NLP高頻面試題(四十一)——什么是 IA3 微調?

隨著大型語言模型的廣泛應用,如何高效地將這些模型適配到特定任務中,成為了研究和工程實踐中的重要課題。IA3(Infused Adapter by Adding and Adjusting)微調技術,作為參數高效微調的一種新穎方法,提供了在保持模型性能的同時,顯著減少可訓練參數數量的解決方案。 IA3 …

swift菜鳥教程14(閉包)

一個樸實無華的目錄 今日學習內容:1.Swift 閉包1.1閉包定義1.2閉包實例1.3閉包表達式1.3.1sorted 方法:據您提供的用于排序的閉包函數將已知類型數組中的值進行排序。1.3.2參數名稱縮寫:直接通過$0,$1,$2來順序調用閉包的參數。1.3.3運算符函…