Qt QML中MVC的应用

QML应用程序架构最佳实践


为什么要关心界面,数据,逻辑分离的问题?

使用QML + Javascript作为主要编码语言,与其他语言和框架相比,这可以节省高达90%的代码。QML的简单性加快了开发速度,可定制性和可扩展性使其变得如此强大。

您也不必担心让UI内的值保持最新。凭借属性绑定的强大功能,QML项目及其属性会自动更新。

虽然所有这些功能都非常有用,但QML的易用性和灵活性也会导致问题。在幕后,属性在发生变化时会发出信号。因此,依赖于现在更改的值的其他属性将处理此信号并更新其值。这也适用于多个QML项目:

在这里插入图片描述
现在看起来并不复杂,但想象一下,添加了一些具有不同属性和交叉依赖性的新组件:
在这里插入图片描述

所有项目之间的不同联系就这样形成了。您无法再确定单个属性更改对直接或间接连接的组件可能产生的影响。在最坏的情况下,这可能导致循环依赖或循环。如果您遇到此类问题,这可能是错误组件架构的一个指标。

项目增长越多,这个问题就越大越大。因此,每个组件应具有干净的界面,并且只管理自己的数据。这就是关注点的分离意味着什么。


设计模式

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值