跳转到主要内容

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)检索数据,并将其格式化以便在视图中显示。

Model-View-Presenter设计模式

在TouchGFX中,从Model类执行与应用非UI部分(这里称为后端系统)的通信。 后端系统是从UI接收事件和将事件输入UI的软件组件,例如采集传感器的新测量值。 后端系统可作为单独的任务在同一MCU、单独的处理器、云模块或其他硬件上运行。 从TouchGFX的角度来看,这并不十分重要,只要它是能够与之通信的组件。

使用的特定通信协议不受TouchGFX管理。 它只提供一个在每个TouchGFX嘀嗒时间调用一次的函数,可以在其中处理需要的通信。 在后端通信 了解有关该主题的更多信息。

Model-View-Presenter和外部通信

关于如何在TouchGFX UI开发中实现和使用MVP的更多具体细节,请参见代码结构一节。