你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 TouchGFX经验分享(八)

[复制链接]
STMCU小助手 发布时间:2023-3-4 20:00
MVP
TouchGFX用户界面遵循称为模型视图展示者(MVP)的体系结构模式,该模型是模型视图控制器(MVC)模式的派生。两者都广泛用于构建用户界面应用程序。
model 是定义要在用户界面中显示或作用的数据的界面。
view 是一个被动界面,用于显示数据(来自model )并将用户命令(event)路由到演示者以对该数据进行操作。
presenter作用在模型和视图。它从存储库(model )中检索数据,并将其格式化以显示在视图中。

20200901175904943.png

什么时候会使用MVP模式
使用MVP模式总共有两种情况:
当使用多个界面时,这些界面都会进行数据交互。交互的数据将采用view到presenter再到model存入model类中,之后其他view需要数据时,将数据再从model到presenter再到view进行显示出来。MVP模式意味着一个Model统一给多个Presenter和多个View提供数据。
在TouchGFX中,与应用程序的非UI部分(这里称为后端系统)的通信是通过Model类完成的。后端系统是一个软件组件,既可以从UI接收事件,也可以将事件馈入UI,例如来自传感器的新测量。后端系统可以作为单独的任务在同一MCU上,在单独的处理器,云模块或其他设备上运行。从TouchGFX的角度来看,这并不重要,只要它是可以与之通信的组件即可。

20200901180752556.png


如何使用MVP模式
在文件结构上存在这model.cpp文件,而Presenter和View是每个页面都有一组。具体开发方式参考其他的文档。


使用MVP模式注意事项
大多数使用MVP模式开发过程中都是为了满足页面交互时可以保留数据,也是为了满足将数据从底层拿到UI上进行显示和处理,最好的使用方法是在Model层保存数据,view层显示数据,不要在view层保存数据。这种保存数据的原因是因为页面在迁移时会释放相应页面的类,但是Model层的类不会进行释放,所以选择Model层来保存数据。除此之外,对于touchgfx和后台其他程序进行交互时,最好采用消息队列方式进行解耦,这样可以保证View显示的数据不会因为后台数据越界或其他操作导致UI崩溃。
————————————————
版权声明:空闲的程序员

收藏 评论0 发布时间:2023-3-4 20:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版