我们做项目的时候往往需要将业务逻辑和用户交互相分离,这个时候我们就会用到MVC开发模式。尤其在Android开发中,MVC开发模式可以说是经常用到的,只是我们说不清代码中M、V、C具体是哪些部分,下面就对MVC开发模式进行一些总结,如果有说的不准确的地方,欢迎大家留言指正。

MVC概念

        MVC全名是Mode View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,一种软件设计典范。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中M层处理数据,业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。

三者之间的关系

MVC框架模式总结_mvc

MVC在Android代码中的对应关系

        View:xml界面,自定义View或ViewGroup,负责将用户的请求通知Controller,并根据Mmodel更新界面;
        Controller:Activity或者Fragment,接收用户请求并更新Model;
        Model:数据模型,负责数据处理相关的逻辑(数据库存取、网络操作、复杂算法等),封装应用程序状态,响应状态查询,通知View改变。

MVC的优点

        (1)耦合性低。所谓耦合性就是模块代码之间的关联程度。利用MVC框架使得View层和Model层可以很好的分离,这样就达到了解耦的目的,所以耦合性低,减少模块代码之间的相互影响。
        (2)可扩展性好。由于耦合性低,添加需求,扩展代码就可以减少修改之前的代码,降低bug的出现率。
        (3)模块职责划分明确。主要划分层M,V,C三个模块,利于代码的维护。