FA模型与Stage模型在设计哲学上的区分是什么?FA模型的应用组件分类与经典三层(MVC?)的区别

FA模型与Stage模型在设计哲学上的区分是什么?FA模型的应用组件分类PageAbility、ServiceAbility及DataAbility与经典三层(MVC?)的区别


HarmonyOS
2024-03-15 18:29:58
浏览
已于2024-3-17 18:57:57修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
xuqing_2000

FA模型适用于熟悉Web前端技术的开发者,开发轻量的、偏重于UI展示类的应用。在应用使用过程中,我们发现这种模型存在一定的适用范围:

  • 通过固定文件入口和匿名对象的方式指定组件,虽然对Web开发者比较友好,但是开发者无法进行派生,不利于扩展能力。
  • Service和Data组件,由于没有界面,用户不可感知,容易被恶意应用滥用,引入关联启动等问题。
  • 每个应用组件的实例运行在独立的虚拟机实例中,会带来较多的内存开销,并导致组件之间无法共享状态。

为了支持大型应用面向对象的范式开发,在遵循"若无必要,勿增实体"原则下,从下面三点设计新的Stage模型:

  • 应用的能力与系统总体性能/功耗的平衡
  • 原生支持组件级的迁移和协同
  • 支持多设备形态和多窗口形态

FA模型的PageAbility、ServiceAbility、DataAbility不等同于MVC,三类Ability分别是承载UI、后台服务和后台数据组件,无主次之分,但是某种程度上MVC中View背后的PageAbility既要完成ui的工作又要做controller的活。

Stage模型是以UI为主的开发模型,UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互,其它对系统或三方提供能力都是通过扩展Extension实现。Extension都是基于某个特定场景,由系统统一调度管理,相比FA模型,达到后台进程环境从无序到有序的状态。

参考链接

应用模型

分享
微博
QQ
微信
回复
2024-03-17 18:51:31
相关问题
Stage模型FA模型区别
638浏览 • 1回复 待解决
FA模型Stage模型StartAbility使用差异
220浏览 • 1回复 待解决
Stage模型下HSP安装时机是什么
137浏览 • 1回复 待解决
什么FA模型不支持进程内对象共享
239浏览 • 1回复 待解决
MongoDB 部署模型是什么
2265浏览 • 1回复 待解决
Stage模型如何获取context?
2168浏览 • 1回复 待解决
Stage模型下如何主动重新渲染UI
1037浏览 • 1回复 已解决
系统多线程模型是什么
122浏览 • 1回复 待解决
WebView进程模型和渲染机制是什么
150浏览 • 1回复 待解决