MVC与三层架构图
- 格式:doc
- 大小:16.47 KB
- 文档页数:1


1理解MVCMVC代表: 模型-视图-控制器。
MVC是一个架构良好并且易于测试和易于维护的开发模式。
基于 MVC 模式的应用程序包含:●Models:表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。
●Views:应用程序动态生成 HTML 所使用的模板文件。
●Controllers:处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模板。
本讲义将覆盖所有这些概念,并告诉你如何使用它们来构建应用程序。
1.1创建一个空的MVC4 Web应用程序运行VS2013,选择菜单“文件 > 新建 > 项目”,项目名为“ChA201_理解M VC”、项目类型为“ MVC4 Web应用程序”,如下图如下。
在新的 MVC 4 项目对话框中,选择“空”模板。
使用 Razor 作为默认视图引擎,如下图。
单击“确定”按钮。
Visual Studio 刚刚创建的 MVC 项目是一个空的项目,完成后查看建立的文件及其下面的文件,如下图。
测试运行,结果如下。
1.2添加一个控制器首先,让我们创建一个控制器类。
在解决方案资源管理器中,用鼠标右键单击控制器(Controllers)文件夹,然后选择“添加控制器”。
命名新的控制器为“HelloWorldController”。
保留默认的模板为“空MVC控制器”,并单击“添加”按钮。
这时,在解决方案资源管理器中会创建一个名为 HelloWorldController.cs 的新文件,并被 IDE 默认打开。
用下面的代码替换该文件中的内容。
public class HelloWorldController : Controller{public string Index(){return"这是一个<b>Default</b>的操作方法";}public string Wellcome(){return"这是一个 Wellcome 的操作方法";}}在上例中控制器方法将返回一个Html字符串。
官方网站:FastCAE 架构设计FastCAE研发小组2020/4/26目录Content 1 One FastCAE架构原则2 Two模块化编程3 Three动态参数机制4 Four软件功能拓展目录1 One FastCAE架构原则ContentMVC 与三层架构从根本来说,三层架构与MVC 的目标一致:都是为了解耦和、提高代码复用性。
MVC 是一种设计模式,而三层架构是一种软件架构。
View (视图)Control (控制)Model (模型)用户交互,页面显示命令分发功能实现,底层数据发出命令分发到具体执行器数据可视化主界面,建模对话框命令工厂执行器与数据用户交互,页面显示命令分发功能实现,底层数据发出命令分发到具体执行器数据可视化MVC 与三层架构从根本来说,三层架构与MVC 的目标一致:都是为了解耦和、提高代码复用性。
MVC 是一种设计模式,而三层架构是一种软件架构。
表示层数据访问层业务逻辑层预处理,合法性判断数据访问实体类库用户交互View (视图)Control (控制)Model (模型)表示层业务逻辑层数据访问层实体类库数据流功能拓展目录2 Two模块化编程Content模块化编程2Part 02模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法。
粒度•多函数•多文件•多(动态)库•多可执行程序优势•降低复杂度•提高复用性•调试维护简单•利于团队协同开发模块化原则•独立性原则独立性原则表现在功能的独立性,即每个模块实现独立的功能。
模块之间的联系应尽可能简单。
•模块规模适当模块的规模过大,功能会越强大,但是程序的可读性与拓展性会变差;模块功能太小会导致接口太多,可维护性变差。
•层次合理在进行模块拆解的时候,需要对问题进行抽象化;在初期只考虑大的功能模块,然后在大的功能模块的基础上进行细分。
3Web界面学生管理系统3.1项目准备参见2.1~2.3步骤创建一个“ MVC4 Web应用程序”的项目“ChA203_学生管理系统”,并准备三层架构的类库,添加JQuery和EasyUI控件,并修改web.config文件。
3.2添加主页控制器添加一个主页控制器HomeController,然后给HomeController的Index方法添加一个同名的视图,即:/Views/Home/Index.cshtml。
3.2.1添加Layout布局主页中首先放上一个Layout;通过body标签来实现布局,可以达到整个页面的布局的效果。
运行一下,如下图。
注意:地址栏中不象以前还要输入控制器中的方法,如:Home/Index就可以了,这是为什么?是由于App_Start/RouteConfig.cs中的RouteConfig类的RegisterRoutes()方法中定义了默认的访问路径为Home/Index,如下图。
public class RouteConfig{public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );}}现在有些东西,我们是不希望的:去掉东区域,去掉北区域和南区域的滑动功能(去掉split属性),去掉北区域和南区域的收缩功能(去掉title属性),并调整北区域的高度为50px,调整南区域的高度为25px,调整西区域的宽度为200px;在北区域放一个长江大学教务管理系统的图片,设置西区域的标题为“导航”,设置中区域的标题为“内容”。