App是英文Application的简称,是指设计给智能手机、平板电脑和其它移动设备上运行的软件应用程序,可分为基于移动设备本地(操作系统)运行的Native App 和基于高端机浏览器运行的Web App。Model 是数据源层,Model层包含了app的数据与逻辑,Model层中的类需要关心的是数据的表现,存储,以及操作。
一、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:框架和设计模式的区别
框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。