前言
相信从事软件开发的伙计们肯定熟悉或者听说过项目架构,比如要新开发一个APP或者Web项目,首先考虑的就是项目需要设计什么样的架构,今天将为大家详细展示MVC架构。
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
结构
- View:视图层-面向用户渲染画面UI。对应View。
- Model:模型层-面向需求模型,数据模型。对应Bean实体,SqliteDataBase。
- Controller:控制层-面向业务逻辑具体操作。对应Activity中具体业务逻辑。
流程关系
- View层接受用户的操作。
- View层将用户的操作交给Controller。
- Controller完成具体的业务逻辑。
- 得到封装的Model,再进行View的更新。
代码展示
我们就写一个简单的业务功能,情景是用户点击屏幕上的按钮,去网络上请求一张图片。
工程目录:
优点:
1):分工明确,各司所职。
2):前期开发简单,可扩展性好,加上面向接口的开发,当你新增一个功能或者新增一种功能实现的时候,只需要定义接口和实现接口,就不需要修改以前的代码。
MVC的缺点:
1):随着项目扩大,代码增多,逻辑的复杂度不断提升,Activity类的职责不断增加,以至于项目变得臃肿,难以维护。
2):视图与控制器间的过于紧密的连接,也就是耦合性高,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
Demo源码地址
网友评论