深入理解MVC模式

一,什么是MVC模式

该模式是一种软件设计典范,他把软件系统划分为三个基本部分:模型层(Model)、视图层(View)、控制器(Controller)

*Model(模型)表示应用程序核心(比如数据库记录列表)

*View(视图)显示数据(数据库记录)

*Controller(控制器)处理输入(写入数据库记录)

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据

View(视图)是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的

Controller(控制器)是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

二,MVC模式的目的

第一,其目的是实现程序的动态设计,使后续程序的修改和扩展简化,并且能够使程序的某一部份的重复利用成为可能

第二,有助于管理复杂的应用程序,我们可以在一个时间专门关注一个方面,同事也让应用程序的测试更加容易

第三,简化了分组开发,不同的人员可同时开发视图、控制器逻辑、模型逻辑,加快了开发速度

三、MVC工作原理图

mvc工作原理图草图

注:什么是Javabean?

JavaBean:它是一个简单的Java类。这个类中拥有get或set方法即可,但要求这个类必须有一个公开的空参数的构造函数。并拥有一些简单的逻辑参与。但是在实际应用中,经常只需要类中添加get或set方法的简单Java类。在开发中经常把这样的类称为JavaBean对象或者实体类对象。这样的类开发中经常书写在domain或者beans包下。举例如下:

image

public class User {

private String id;

private String username;

private String password;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

四,MVC模式的优点

第一,开发人员可以只关注三层中的其中的某一层

第二,可以很容易的用新的实现来替换原有层次的实现,可维护性提高了

第三,可以降低层与层之间的依赖,耦合性降低了

第四,有利于标准化和软件工程化管理

第五,利于各层逻辑的复用,重用性提高了

五,MVC模式的缺点

第一,增加了系统结构和实现的复杂性

对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

第二,不适合小型或者中等规模的应用程序

花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失

第三,视图与控制器连接的过于紧密

视图与控制器是相互分离,但却是联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

第四,视图对模型数据的低效率访问

依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

posted @ 2016-11-02 22:52  李昭文-Java成长之路  阅读(249)  评论(0编辑  收藏  举报