news 2026/2/11 7:06:06

鸿蒙的“官方推荐”架构MVVM

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙的“官方推荐”架构MVVM
一、鸿蒙的“官方推荐”架构 鸿蒙官方在 ArkUI/ArkTS 和 Java HarmonyOS Ability 开发里,推荐用: 1.MVVM(官方最推) ArkUI/ArkTS 天然支持 数据驱动,也就是 MVVM 核心思想: Model:数据实体,普通类或 JS 对象 ViewModel:@Observed, @State, @Computed 等管理状态 View:ArkUI Column, Row, Stack 等 UI 组件 数据变化 → UI 自动刷新(无需手动 findView/updateView) 典型标志: @Observed class DeviceData { batteryPercent: number; online: boolean; } @Component struct DeviceItem { @ObjectLink data: DeviceData; build() { Column() { Text("电量: " + this.data.batteryPercent + "%") } } } 这个就是 ArkUI 的 MVVM 核心方式。 2.MVP / MVI(非官方也可用) MVP: Model: 数据实体 View: ArkUI 页面 Presenter: 普通 TypeScript / Java 类负责业务逻辑 这种方式在鸿蒙 Java 端和 ArkUI 前端都可以实现,但不如 MVVM 官方支持好。 使用场景:你想完全分离逻辑和 UI,类似 Android 老项目迁移。 MVI: 也是数据驱动,但强调 状态不可变 + 单向数据流 对于复杂页面(设备列表、巡检表格、地图轨迹)非常适合 二、鸿蒙开发特点与 Android 不同点 # Android 与 鸿蒙 ArkUI/ArkTS 特性对比 | 特性 | Android | 鸿蒙 ArkUI / ArkTS | |------|---------|------------------| | **数据绑定** | LiveData / ViewModel | `@State`, `@Observed` | | **UI 组件** | XML / Jetpack Compose | Column, Row, Stack, Text, Image | | **事件绑定** | `setOnClickListener` | `onClick={() => {...}}` | | **生命周期** | Activity / Fragment | Ability + Component | | **官方推荐架构** | MVVM + Jetpack | MVVM + ArkUI | 总结:鸿蒙官方就是 ArkUI + MVVM,几乎天然支持,直接用 @Observed/@State 就能做双向绑定。 三、鸿蒙项目常用 MVVM 模式结构 project/ │ ├─ model/ # 数据模型 │ └─ Device.ts │ ├─ view/ # 页面组件 │ └─ DevicePage.ts │ ├─ viewmodel/ # 管理状态、提供数据 │ └─ DeviceViewModel.ts │ ├─ service/ # 网络/设备/数据库服务 │ └─ DeviceService.ts └─ utils/ 使用方法: ViewModel 中保存状态 View 使用 @Observed 或 @State 绑定 ViewModel 数据 数据变化 → UI 自动刷新,无需手动更新 四、安卓开发经验迁移到鸿蒙 LiveData → @Observed/@State ViewModel → ArkTS/Java 对应 ViewModel 类 DataBinding / Jetpack Compose → Column/Row/Stack + build() MVP 的 Presenter → ArkTS 类 + 自己调用更新函数 核心区别:鸿蒙更偏 声明式 + 数据驱动,MVVM 天然支持,MVP 只能自己写。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 5:55:38

SSL/TLS 协议详解:安全通信的基石

一、概述 SSL(Secure Sockets Layer) 及其继任者 TLS(Transport Layer Security) 是位于 传输层(TCP)与应用层之间 的加密协议,用于在网络通信中实现 机密性、身份认证和数据完整性。 核心目标…

作者头像 李华
网站建设 2026/2/7 16:16:47

DNS服务协议有哪些?

DNS协议概述 DNS的定义和作用 DNS( 域名系统 )是互联网的核心服务之一,它将易记的域名转换为计算机识别的IP地址,实现了人类友好界面与网络底层架构间的无缝衔接。这一功能极大地简化了用户访问互联网资源的过程,同时为…

作者头像 李华
网站建设 2026/2/7 6:53:39

基于物联网的室内大棚监测系统的设计与实现

2系统方案设计 2.1 设计需求分析 传统的大棚温湿度控制系统具有很大的滞后性,且耗费大量的人力和物力。因此本设计将利用大学所学的模拟电路和数学电路以及C语言知识,以传感器技术为基础而设计一个基于物联网的大棚温湿度控制系统。该设计将利用单片机结…

作者头像 李华
网站建设 2026/2/5 11:35:23

AI赋能的11项论文写作解决方案,涵盖LaTeX排版与智能改写功能

工具对比排名 工具名称 核心优势 支持LaTeX 适用场景 aibiye AIGC率降个位数,兼容知网规则 是 AI痕迹强处理 aicheck 学术改写优化,语义保留佳 是 格式统一化 askpaper 降重降AI一体,20分钟快速响应 是 初稿优化 秒篇 人类特…

作者头像 李华
网站建设 2026/2/9 7:24:04

导师严选2026自考AI论文网站TOP10:高效写作全维度测评

导师严选2026自考AI论文网站TOP10:高效写作全维度测评 2026年自考AI论文写作工具测评:精准定位高效写作新标杆 随着人工智能技术的不断进步,越来越多的自考生开始依赖AI写作工具来提升论文撰写效率。然而,市面上的平台种类繁多&am…

作者头像 李华
网站建设 2026/2/7 0:55:07

收藏级指南:Agentic RAG 彻底升级传统RAG,打造能干活的AI数字同事

Agentic RAG作为传统RAG的颠覆性升级方案,核心是将静态的“检索-生成”流程,重构为智能体驱动的动态自适应工作流。传统RAG仅能完成单次问答的闭环,而Agentic RAG凭借推理规划、工具调用、自我修正的核心能力,可承接复杂任务落地。…

作者头像 李华