三层架构与MVC
Mvc
MVC是Model View Controller , 是模型-视图-控制器的缩写,一种软件设计典范.用于组织代码用 一种业务逻辑和数据显示分离的方法,这个方法的假设挑剔是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化指定而不需要重新编写业务逻辑.
三层架构是最基本的项目分层结果,而MVC则是三层架构的一个变体,MVC是一种好的开发模式。首先你要明白MVC分别代表的是什么意思:
M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
V 即View(视图层),主要用于显示数据和提交数据
C 即Controller(控制器),主要是用作捕获请求并控制请求转发
三层:UI 界面层 BLL 业务逻辑层,DAL数据访问层,Model 实体层
MVC中的的M 不是三层中的Model(实体层),他其实包括三层中的 BLL,DAL,Model,这是非常要注意的,这也是他们之间的区别的关键所在。其优点如下: A、低耦合性; B、高重用性和可适用性; C、较低的生命周期成本;D、快速的部署;E、可维护性;F、有利于软件工程化管理。当然优点也有缺点,那就是内部结构复杂,不容易理解,文件数量大,管理难度自然也就大。
M是指数据模型,v是用户界面,c则是控制器,使用mvc的目的 是将 M和V实现代码分离,从而使同 一个程序可以使用不同的表现形式 .
MVC是一种框架模式,它强制性的使应用程序的输入,处理和输出分开,使用MVC应用程序被分成三个核心部件:模型,视图,控制器,它们各自处理自己的任务.
视图 : 用户看到并与之交互的界面.好处是它能为应用程序处理很多不同的视图.在视图中其实没有真正的处理发生,不管这些数据是联机存储还是一个雇员列表,视为视图来讲,它只是作为一个输出数据并允许用户操纵的方式.
模型:模型表示企业数据和业务规则.模型拥有最多的处理任务.模型与数据格式无关,这样一个模型就能为多个视图提供数据,由于应用与模型的代码只需要写一次就可以被多个视图重用,所以减少了代码的重用性.
控制器:控制器接收用户的输入并调用模型和视图去完成用户的需求,所以当单机WEB页面中的超链和发送Html表单时,控制器本身不输出任何东西和任何处理.它只是接收请求并决定调用哪个模型构件去处理请求.然后决定调用哪个视图来显示返回的数据.
===============================================================================
框架模式和设计模式区别
框架, 设计模式这两个概念容易被混淆.其实他们之间有区别的.
构件通常是代码重用,而设计模式是设计重用
框架则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用.在软件生成中有 三种级别的重用: 内部重用,即在同一种应用中能公用使用的抽象模块; 代码重用,即将通用模块组合成库或工具集,一边在多个应用和领域都能使用; 应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性.
框架与设计相识,但却有着根本的不同.设计模式是对某种环境中反复出现的问题以及结局该问题的反感的描述,它比框架更抽象;框架可以用代码描述,也能直接执行或复用.而对于设计模式只有实例才能用代码表示,;设计模式是比框架更小的元素,一个框架中含有一个或多个设计模式,框架总是针对某一个特定应用领域,但同一个模式却可以适用于各种应用.所以说框架是软件,而设计模式是软件的知识.
简而言之:框架模式是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方法,以提高代码复用率,降低耦合度.