登录社区云,与社区用户共同成长
邀请您加入社区
设计模式应用位置作用单例模式KitManager全局唯一实例管理工厂模式统一创建工具实例策略模式ITool 接口不同工具不同执行策略模板方法公共流程固定,子类实现差异观察者模式数据变化通知 UI 刷新适配器模式Kit 封装适配 HarmonyOS API分层架构有效控制了代码复杂度,15 个页面 + 22 个组件开发井然有序插件化 ToolManager证明了开闭原则的工程价值,工具扩展零侵入Ki
本文介绍了倒计时器的设计与实现,重点解析了时间差计算、进度环百分比和事件列表的动态管理。通过两个核心类CDEvent(存储事件信息)和RemainInfo(计算剩余时间)实现数据与逻辑解耦。时间差计算采用毫秒时间戳运算,逐级拆解为天/时/分/秒,并设计了30天最大跨度的进度环算法。文章还讨论了性能优化策略(如避免实时刷新),以及事件添加功能(包含日期选择器和颜色选择),最后通过条件渲染实现已完成事
摘要 文章介绍了一个星空运势应用从单一文件(500+行)到模块化重构的过程。原代码将所有功能(数据、状态、UI)混在Index.ets中,导致维护困难。重构后: 数据层(星座/塔罗数据、常量)独立到model目录 UI层拆分为三个Component组件(转盘、星图、塔罗) 主入口文件精简至100行左右 新增星座详细信息字段 重构使代码结构清晰,各模块职责单一,便于维护和扩展。关键步骤:先拆分独立数
MVI架构在ArkUI中的实践:从状态管理到工程化实现 本文探讨了如何在华为ArkUI框架中实现MVI(Model-View-Intent)架构,以解决复杂业务场景下的状态管理问题。文章首先分析了MVI架构的优势,包括单向数据流、显式Intent表达和清晰的副作用处理机制。然后详细介绍了MviStore基类的设计实现,重点阐述了reduce纯函数状态转换、不可变状态和副作用隔离等核心概念。接着说明
本文介绍了ArkUI开发中五种实用的设计模式实现,包括Builder模式、单例模式、工厂模式、观察者模式和策略模式。针对HarmonyOS NEXT(API 12+)环境,文章详细解析了每种模式的核心原理和ArkTS实现方式: Builder模式:通过链式调用解决复杂对象构造问题,展示了UserProfile的链式构建器实现及UI层应用示例; 单例模式:探讨了全局状态管理的多种实现方式(模块闭包、
本文介绍了一个星座运势应用中星图页面的实现过程,重点探讨了如何精确绘制星座星图。作者通过三层嵌套布局(标题、星图详情、星座网格)构建页面,其中星图详情部分使用Stack组件实现层叠效果,并通过.position()方法精确定位每个星点坐标。文章对比了Grid与Flex布局的适用场景,展示了选中状态的视觉反馈设计,以及点击切换的交互逻辑。最终实现了一个包含12星座、每个星座6-8颗精确定位星点的可视
本文以HarmonyOS骰子应用为例,探讨了ArkTS类型系统与数据建模的工程化实践。文章重点分析了Dice.ts中的类型定义艺术,如DiceType接口设计、RollResult中加入rolledAt字段的考量,以及工厂函数和纯函数的设计价值。同时讨论了Database.ts中数据持久化的封装策略,包括同步/异步API设计、错误处理和数据校验的重要性。最后提及Theme.ts展示的配置驱动UI理
文章摘要: 美食转盘App采用简洁的双表数据架构,通过Preferences存储JSON格式的食物列表(FoodItem[])和选择历史(PickRecord[])。食物表含6个字段,历史表采用冗余设计避免关联查询。数据层提供9个核心方法,包括带分类筛选的查询、随机选择等操作。关键特性包括:使用36进制时间戳+随机数生成唯一ID、工厂函数创建食物项、异常处理覆盖双表初始化、以及专门的数据恢复方法r
/ 主页// 登录// -----------------------------------------------------练习// -----------------------------------------------------课程// -----------------------------------------------------我的RouterMap枚举 +注册表
时间线功能从基础版升级为优化版,新增搜索框、收藏筛选和双视图切换三大功能。搜索框支持实时过滤关键词,并集成标签筛选功能。五维筛选系统支持状态和收藏叠加筛选,一键清除所有筛选。双视图可在列表和网格模式间切换,列表视图信息密度高,网格视图视觉更直观。这些优化显著提升了时间线的易用性和交互体验。
时光胶囊是一个有生命周期的数据对象,其核心设计围绕三种状态(未开启/可开启/已开启)展开。数据模型包含内容、心情、解锁时间、标签等字段,通过计算而非存储状态来动态判断当前状态。解锁时间提供多种选项(如1天/7天/30天),默认选择7天后。心情系统包含emoji和标签,用于情绪记录和统计。标签支持增删且需去重。整体采用Flex布局和统一的交互视觉模式,通过工厂函数创建包含唯一ID和时间戳的胶囊对象,
时光胶囊App采用单页多Tab架构,首页包含时间线、封印、统计、设置四个功能模块,共享底部导航和主题系统。通过分组管理20个@State变量实现各Tab状态独立,切换时保留未保存数据。采用if-else条件渲染而非Tab组件提升性能,主题系统支持四种配色方案并通过Preferences持久化。数据库层统一管理胶囊数据,各Tab按需刷新。该设计实现了功能模块的高内聚低耦合,兼顾用户体验与开发维护效率
本文介绍了知识库 App 的路由设计与参数传递机制。该应用包含 6 个页面和 11 条路由跳转路径,采用三种参数传递模式:双参数关联传递(notebookId+notebookName)、单参数定向传递(noteId/tag)和特殊值约定(notebookId=-1)。重点分析了 NoteEditor 的双模式路由(新建/编辑)和 TagFilterPage 的多入口处理,以及底部导航栏的路由策略
摘要 NoteService.ets 是知识库 App 的核心数据层,包含 12 篇 mock 笔记数据和 4 个笔记本数据,提供 6 个查询函数和 3 个修改函数。与菜谱 App 相比,其功能更复杂,支持多维度查询(按笔记本、标签、搜索等)和动态修改(增删、收藏)。设计特点包括: 数据结构:Note 接口含 8 个字段,如标题、分类标签、收藏状态等,优化了查询效率;Notebook 使用冗余字段
在bill_base模块的Types.ets中,定义了多个接口,如。note?: string;assetId?: number;assetName?: string;memberId?: number;memberName?: string;isCustom?: number;接口的最大优势在于可被任意模块引用(包括非 UI 模块,如数据层或工具库commonlib),不引入响应式开销,适合作为
DAO设计模式在HarmonyOS应用中的实践 本文介绍了DAO(数据访问对象)设计模式在HarmonyOS应用"鹿鹿·笔迹心理分析"中的实践。
本文总结了31-40篇关于服务层架构的内容,涵盖七大核心服务的设计与实现。架构采用分层设计(页面层、业务服务层、能力服务层、基础服务层等),明确各层职责与调用规范。重点介绍了StorageService、ThemeService等基础服务,以及AIService、MusicService等能力服务,强调了下层服务不依赖上层的设计原则。通过统一接口和模块化设计,构建了可扩展、易维护的服务体系,为上层
你有没有想过,为什么有些APP用起来就是"顺手",而有些APP怎么用都"别扭"?答案往往不在于功能多少,而在于交互设计。好的交互设计让用户几乎不需要思考就能完成操作,而差的交互设计让用户每一步都在犹豫——“这个按钮是干什么的?”“我刚才点了什么?”“怎么返回?”智能交互设计更进一步——它不仅让操作"顺手",还让操作"智能"。系统能根据用户的上下文、习惯、甚至情绪状态,主动预测用户意图,提供最合适的
本章为大家详细的介绍了仓颉设计模式中观察者模式的内容。
本章为大家详细的介绍了仓颉设计模式中中介者模式的内容。
本章为大家详细的介绍了仓颉设计模式中状态模式的内容。
本章为大家详细的介绍了仓颉设计模式中备忘录模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中策略模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中状态模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中模板方法模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中模板方法模式的内容。
本章为大家详细的介绍了仓颉设计模式中中介者模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中装饰模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中外观模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中命令模式的内容。
本章为大家详细的介绍了仓颉设计模式中职责链模式的内容。
本章为大家详细的介绍了仓颉设计模式中解释器模式的内容。
本章为大家详细的介绍了仓颉设计模式中代理模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中职责链模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中享元模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中命令模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中原型模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中桥接模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中单例模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中组合模式的内容。
本章为大家详细的介绍了仓颉设计模式中适配器练习题模式的内容。
本章为大家详细的介绍了仓颉设计模式中建造者模式练习题的内容。
本章为大家详细的介绍了仓颉设计模式中抽象工厂模式练习题的内容。