Model-View-Presenter設計模式
TouchGFX使用者介面遵循Model-View-Presenter(MVP)架構模式,它是Model-View-Controller(MVC)模式的衍生模式。 兩者都廣泛用於構建使用者介面應用。
MVP模式的主要優勢是:
- 關注點分離:程式碼分成不同的部分提供,每部分有自己的任務。 這使得程式碼更簡單、可重複使用性更高且更易於維護。
- 單元測試:由於UI的邏輯(Presenter)獨立於虛擬層(View),因此,單獨測試這些部分會容易很多。
MVP中定義了下列三個類:
- Model是一種介面,用於定義要在使用者介面上顯示或有其他形式操作的資料。
- View是一種被動介面,用於顯示資料(來自Model),並將使用者指令(事件)傳送到Presenter以便根據該資料進行操作。
- Presenter的操作取決於Model和View。 它從存儲庫(Model)檢索資料,並將其格式化以便在視圖中顯示。
在TouchGFX中,從Model類執行與應用非UI部分(這裡稱為後端系統)的通信。 後端系統是從UI接收事件(如感測器的新測量值)和將事件輸入UI的軟體元件。 後端系統可作為單獨的任務在同一MCU、單獨的處理器、雲模組或其他硬體上運行。 從TouchGFX的角度來看,這並不是十分重要,它只要是能夠與之通信的組件。
使用的特定通信協定不受TouchGFX管理。 它只提供一個在每個TouchGFX標記呼叫一次的函數,可以在其中處理需要的通信。 在後端通信 瞭解有關該主題的更多資訊。
關於如何在TouchGFX UI開發中實現和使用MVP的更多具體細節,請參見程式碼結構一節。