我眼中的MVC设计模式
我们所要思考的是 何为MVC,它被用来干嘛,and它有什么好处?
下面我们来解决第一个问题:何为MVC?
MVC模式把软件程序分为三个模块:模型(model)、视图(view)和控制器(controller)
model:
负责管理应用程序的业务数据以及定义访问控制和修改这些数据的业务规则,当模型的状态发生改变时,它会通知视图发生改变,并未视图提供查询模型状态。如果非要用代码的表现形式表示出来的话,model包括dao层和service层。dao层主要是负责封装内部的数据状态,包括接口和相应的借口实现,service层负责封装业务处理方法,也包括接口和相对应的接口实现。
View:视图负责与用户进行交互,到目前为止我们一般用jsp页面来表示视图,但是也同样支持其他的语言,如html。视图从模型中获取数据向用户展示,同时也能将用户请求传递给控制器进行处理,当模型的状态发生改变,视图会对用户界面进行同步更新,从而保持和模型里的数据的一致性。实现动态更新
Controller:控制器是负责应用程序中处理用户交互的部分,从视图中读取数据,控制用户输入,并向模型发送数据。其实通俗一点的来说,controller主要有三种功能:接收参数,处理参数,传送参数。接收来自视图用户界面的请求,通过调用model内的方法进行一系列处理计算,最后把所得值再传回给model。
三者之间的关系 由下面的一张图来表示: