千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > App和Model是什么?

App和Model是什么?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 12:29:58 1697171398

一、App是什么

App是英文Application的简称,是指设计给智能手机、平板电脑和其它移动设备上运行的软件应用程序,可分为基于移动设备本地(操作系统)运行的Native App 和基于高端机浏览器运行的Web App。移动设备用户可以通过无线网络连接移动软件应用程序商店免费或付费下载使用App。广义移动应用包含个人及企业级应用,狭义移动应用指企业级商务应用,可分为消息应用、现场应用、管理应用及自主应用等。

根据手机app安装来源不同,又可分为手机预装软件和用户自己安装的第三方应用软件。手机预装软件一般指手机出厂自带、或第三方刷机渠道预装到消费者手机当中、且消费者无法自行删除的应用或软件。除了手机预装软件之外,还有用户从手机应用市场自己下载安装的第三方手机app,下载类型主要集中在社交社区类软件。

二、Model是什么

Model 是数据源层,比如数据库接口或者远程服务器的api。Model层包含了app的数据与逻辑,Model层中的类需要关心的是数据的表现,存储,以及操作。Model层是整个app生态中相对独立的一个部分,因为它不会直接与controller层或者是View层进行通讯,而是在其他层需要请求它的信息的时候进行间接通讯。

Model的作用:

属性存取:将文件中的一些特性和数据以属性的形式存储可变性:属性可以readwrite,所以能够被改变,并保存到本地KVO:可以观察一个属性的值并在它改变的时候受到通知,并以此对UI或其他地方进行控制处理数据:根据业务逻辑处理网络获取数据与本地存储数据

三、MVC框架

MVC是一种架构设计模式,是一种设计理念。是为了达到分层设计的目的,从而使代码解耦,便于维护和代码的复用。MVC是3个单词的缩写,全称:Model-View-Controller(模型-视图-控制器)。

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

MVC 编程模式:

M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有非常多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操作的方式。C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

延伸阅读1:框架和设计模式的区别

框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
怎样在数据库中实现一对多的关系怎样存储图片和视频?

一、怎样在数据库中实现一对多的关系怎样存储图片和视频1.图片和视频文件 不要存放在数据库中,而应该利用文件系统存放,数据库中只存放读取他...详情>>

2023-10-13 14:22:08
如果同一条记录同时多个进程可能对不同的字段进行修改,怎么保证列锁?

一、如果同一条记录同时多个进程可能对不同的字段进行修改,怎么保证列锁没听说有列锁的机制,主流的方式就是行锁。我觉得你这种需求可以归到“...详情>>

2023-10-13 14:18:11
PC端网站,手机版网站,APP,三者可以实现共用同一数据库,能同步更新吗?

一、PC端网站,手机版网站,APP,三者可以实现共用同一数据库同步更新一般网站实现pc端与移动端适配的需求,方案有两个:1、一套页面,从设计时...详情>>

2023-10-13 14:10:53
怎么看待oracle的exadata与share nothing系列的hadoop等,以及优缺点相互对比、各自的前途对未来的影?

一、怎么看待oracle的exadata与share nothing系列的hadoop等exadata的架构我也仔细思考过很久,个人愚见,exadata引进了部分MPP思想,当并非MPP...详情>>

2023-10-13 13:58:16
MySQL数据库char类型的长度是什么意思?

一、MySQL数据库char类型的长度是什么意思MySQL数据库char类型的长度是指该字段所占用的字节数。char数据类型是MySQL中固定长度的字符类型。 我...详情>>

2023-10-13 13:51:32
快速通道