175-2108-6175
网站建设资讯详细

常用移动App架构设计总结

日期:2020-09-03  作者:千语创想  浏览:5476

Native app开发相比传统的项目迭代周期要短很多, 需求的变化也频繁一些, 在开发的不同生命周期里采用不同的架构模式可以有效的节约开发时间, 提高开发效率, 这篇文章介绍几种常用的APP架构模式


1、MVC


移动app一般都是采用经典的mvc框架


⑴ 模型层(model):封装了应用的一系列数据, 并定义了操作, 处理这些数据的逻辑和计算规则,通过Notification,KVO对控制器进行反馈。


⑵ 视图层(view):视图对象是一个应用中,用户可以看到的对象;视图对象知道如何绘制自己,也能够响应用户的操作。 视图对象的主要目的之一是将应用模型对象中的数据显示出来, 并允许用户编辑该数据。视图通过不能直接操作模型层, 通过target-action, delegate, dataSource和控制器进行反馈。


⑶ 控制器层(controller)    控制器层是在视图层和若干个模型层的中间人    c可以直接操作模型层和视图层


MVC的改进版 MVVM

MVVM是在MVC的基础上多了一个View Model:表示逻辑,将 model 的数据转换为 view 可以呈现的东西。适合大量展示类的App。


2、HMVC


Hierarchical MVC,把客户端应用程序分解为有层次的父子关系的MVC, 反复应用这个模式,形成结构化的客户端架构。适合重型B/S架构的WebApp。


一个MVC模块由应用程序的一个模块抽象而成。其中很重要的一个概念就是 Parent MVC , 它可以对应界面上的实体,也可以是一个抽象的对象。设想一个app 有标签栏,工具栏,导航栏,主工作区,对应到HMVC上就是这个app最底部的标签栏是 Layer1, Layer2 导航栏,主要工作区,工具栏。如果觉得 Layer2 太复杂可以把主要工作区放到 Layer3, 依次类推。


Controller 是功能模块的总控室,它负责和子Controller或父Controller通信,并通知它的 View 处理改变界面显示,Model 处理一些业务逻辑或数据库访问操作。


优点:

把程序分成了几个部分, 降低了依赖性

支持鼓励重用代码, 组件或者模块

在今后的维护中, 提高了可扩展性


3、三层架构


从上至下为:表示层(UI)、业务逻辑层或称为领域层(BLL)、数据访问层(DAL)


⑴ 表示层(UI):向用户展现特定业务数据,采集用户的输入信息和操作;用户至上,兼顾简洁、不包含任何业务相关的逻辑处理。


⑵ 业务逻辑层(BLL):从DAL中获取数据,在UI显示;从UI中获取用户指令和数据, 执行业务逻辑或通过DAL写入数据源;作为U层与D层的桥梁,目的在于展现清晰的函数结构, 只负责数据处理传递,不涉及SQL语句和ADO.NET。


⑶ 数据访问层(DAL):直接操作数据库,针对数据的增添、删除、修改、查找;具体为业务逻辑层或表示层提供数据服务。专门操作数据库,不考虑数据合法性。数据库错误返回-1,逻辑错误返回0,并告知错误原因,成功返回1。


4、四层架构


在三层架构的基础上多了业务规则层, 通常的三层是把业务逻辑和业务规则合并为一个层,统称为业务层.业务规则层的提出,既可以及时处理用户输入的不合法信息, 又可以及时处理数据库错误, 增大了业务逻辑层的结构清晰度, 让业务逻辑人员专心致志做逻辑。


从上至下为:表示层、业务规则层、业务逻辑层或称为领域层、数据访问层


业务规则层(ECL):对于UI层传下来的参数来说,检查合法性。用户至上,兼顾简洁;不包含任何业务相关的逻辑处理


立即免费在线制作一个APP,新手注册即送开发大礼包

 

提交app定制需求,了解报价和周期:

 

电脑请点击https://www.qianyuthink.com/?url=/index?uzchannel=500

手机请点击https://www.qianyuthink.com/?url=/m/quickaddcustom

 

由千语创想团队倾情打造的一站式在线设计平台——千语创想https://www.qianyuthink.com/?url=)已正式上线,一站式完成编千语创想所有设计工作,需求梳理+原型设计+ui设计一个人统统搞定。必须要强调:千语创想免费使用,是互联网产品人提升工作效率的神器,海量需求模板库覆盖各个行业,一键生成产品需求导图,可根据需求在线编辑;需求导图一键生成产品原型,再也不用为设计原型图而苦恼;在线ui设计,支持Sketch导入,一键切图和标注。千语创想可提升30%-60%项目开发效率,快来免费体验吧。


转载请注明来自:https://www.qianyuthink.com/news/5922.html