【HarmonyOS学习日志(3)】组件化与模块化,MVP与MVVM架构 ...

打印 上一主题 下一主题

主题 1521|帖子 1521|积分 4563

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
组件化和模块化

组件化和模块化是软件开辟中用于进步代码组织和可维护性的两个密切相关的概念。它们都旨在将大型复杂的系统分解为更小、更易于管理的部分。
什么是组件化

组件化是一种将用户界面分解为独立可重用的部分的方法。这些组件可以是按钮、输入框、列表、图表等,每个组件都代表一个UI元素或功能,并可以独立于其他组件工作。这种方法使得UI的开辟变得更加灵活和高效,同时也进步了UI的一致性和质量。
组件化的特点



  • 可复用性:组件可以设计为可复用的,可以在差别的上下文中利用。
  • 封装性:组件封装了本身的状态和举动,对外提供接口。
  • 灵活性:组件可以以差别的方式组合,以构建差别的界面或功能。
  • 独立性:组件应该是自包罗的,不应该依靠于其他组件的内部实现。
什么是模块化

模块化是一种将大型代码库分解为更小更易于管理的部分的方法。它将软件系统分别为称为模块的独立单元,每个模块都有一个明确的功能和责任,并与其他模块通过明确的接口进行通信。这种分解方法使得代码更加结构化,更易于阅读和维护,同时也进步了代码的重用性。
模块化的特点



  • 独立性:模块是独立的单元,拥有本身的功能和逻辑。
  • 封装性:模块内部的实现细节对外部是不可见的,只有通过定义好的接口进行交互。
  • 松耦合:模块之间的依靠关系应该保持在最低限度,使得修改一个模块不太可能影响到其他模块。
  • 高内聚:模块内的代码应该紧密相关,共同完成一个特定的功能。
组件化与模块化

组件化和模块化虽然概念相似,但他们的偏重点有所差别,模块化更偏重于软件的内部结构和逻辑,而组件化更偏重于用户界面和用户体验。在实践中,组件化通常是模块化的一部分,由于UI组件通常是创建在模块化业务逻辑底子上的。
组件相当于一个小单位,而模块类似于独立的代码结构,可以执行明确的功能或责任。可以理解为大大小小的组件组成了一个模块,而许多个模块构建成了完备的代码库。
优势



  • 更好的组织结构:模块化和组件化都有助于创建更清楚、更结构化的代码库,使得代码更易于理解和导航。在修改代码时也低落了时间与人力资源,提拔了程序开辟和调试效率。
  • 低落风险:通过将系统分解为更小的部分可以低落单个失败点对真个系统的影响。模块化可以独立运行,如果一个模块产生了bug,不会影响其他模块的调用。
  • 优化资源利用:通过重用现有的模块和组件,可以更有效地利用开辟资源。


MVP,MVVM架构

媒介:在学习MVP,MVVM架构前,我们必要先知道以下概念:
架构(Architecture):又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。常见的架构有C/S架构,B/S架构等
设计模式(Design pattern):又称软件设计模式,是一套被反复利用,多数人知晓的、经过分类编目的、代码设计经验的总结。实用设计模式是为了可重用代码、让代码更轻易被他人理解、保证代码可靠性、程序的重用性。
常见的设计模式,如工厂模式,原型模式,表明器模式等
框架模式(Framework pattern):框架模式就是办理某一类题目的方法论。把办理某类题目的方法总结归纳到理论高度,就是模式。常见的框架模式,如:MVC、MVP、MVVM等
框架(Framework):框架式构成一类特定软件可复用设计的一组相互协作的类。框架规定了你的应用的体系结构,它定义了整体结构、类和对象的分割,各部分的重要责任,类和对象怎么协作,以及控制流程。框架预定义了这些设计参数,以便于应用设计者或实现者能会合精神于应用本身的特定细节。常见的框架:如Spring、Mybatis、Beego等
本次我们重要讨论框架模式中的MVP和MVVM框架
MVP架构

组成部分

Model(模子):负责业务逻辑和数据处置惩罚,与数据源(如数据库、网络API等)交互,提供数据给Presenter。
View(视图):充当用户界面的显示载体,实现与用户的交互。在MVP中,VIew是一个接口,他将用户的动作
转发给Presenter( 出现器),同时也接收来自Presenter的数据更新UI.
Presenter(出现器):作为中介,一方面对接Model层进行数据获取和处置惩罚,另一方面相应View层的事件,调和两者之间的工作,确保业务逻辑和UI逻辑分离,Presenter通过接口与View交互,因此更易于进行单元测试。
它们之间的通信是通过Presenter来进行的,所有的交互都发生在Presenter内部。
MVVM架构

MVVM(Model--View--ViewModel)是一种软件设计模式,重要用于分离应用程序的用户界面(UI)和业务逻辑。这种模式可以帮助开辟者更高效地开辟和管理复杂的用户界面。
组成部分

Model(模子):负责业务逻辑和数据处置惩罚,与数据源(如数据库,网络API等)交互,提供数据,但是不直接与View层交互,而是通过ViewModel层进行数据传递。
View(视图):负责显示数据(UI)和监听用户的操纵和事件。同时可以通过数据绑定与ViewModel层交互,不必要直接操纵数据。
ViewModel(视图模子):充当Model和View之间的桥梁,包罗View所需的数据和下令并处置惩罚View的业务逻辑,如数据转换、验证等。同时可以通知View层数据变更,通常是通过数据绑定机制实现。它将数据与视图绑定在一起,更新数据的时间直接更新视图。
对于鸿蒙开辟,通俗来讲,Model层可以理解为针对数据库高效操纵的数据模子。而ViewModel层则是针对ArkUI状态管理功能进行高效地UI更新的视图模子,Model层与ViewModel层双向同步提供数据互换,ViewModel层中的数据渲染View层中的UI,而VIew层中的事件交互则又会改变ViewModel层中状态变量中数据,进而实现更新UI的功能。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

干翻全岛蛙蛙

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表