mvc模式

MVC相关资料收集

为君一笑 提交于 2020-04-08 02:08:36
文章: 谈谈service层在mvc框架中的意义和职责 Model–view–controller - Wikipedia MVC Architecture - Google Chrome - Chrome: developer 引用: 问题的本质是:业务逻辑粘连了C层和M层,应该从C层&M层解耦出来,成为独立的Service层。由此,在C层可以灵活的替换Service保持高度的简洁,而M层保持职责单一仅仅为Service提供数据,Service层则实现所有复杂的业务逻辑与通用的业务逻辑。 Service层的职责 根据上面的分析,Service夹在C层和M层中间,从逻辑上大致划分为3大类: model侧的Service:也就是封装每个model与业务相关的通用数据接口,比如:查询订单。(我认为:访问远程服务获取数据也应该归属于这一类Service) 中间的Service:封装通用的业务逻辑,比如:计算订单折扣(会用到1中的Service)。 controller侧的Service:基于1、2中的Service进一步封装对外接口的用户业务逻辑,当然也不排斥直接访问DAO而不使用上述2个Service(不建议)。 在实践中,应该会很自然的用到这三类Service,在了解了这些概念之后再进行代码设计,就不会对Service的职责产生困惑了,自然也对MVC有了新的认识。 零散笔记:

MVC学习

人盡茶涼 提交于 2020-04-07 12:54:41
Insus.NET从国庆节开始,全新学习ASP.NET MVC,到今天已经两个半月了,在这两个半月当中从不懂至了解,从了解至功力加深。今天Insus.NET想把所有练习,经验分享给CSDN网友们,特别是也想学习MVC的网友们,望共同努力...... 下面博文: 《 创建第一个MVC应用程序 》 http://www.cnblogs.com/insus/p/3358560.html 《 @Styles的nameSpace是什么 》 http://www.cnblogs.com/insus/p/3358703.html 《 MVC应用程序使用Entity Framework 》 http://www.cnblogs.com/insus/p/3359111.html 《 MVC bundle(包扎)CSS或是JS文件 》 http://www.cnblogs.com/insus/p/3360918.html 《 DataTable数据显示于MVC应用程序 》 http://www.cnblogs.com/insus/p/3361182.html 《 MVC用非Entity Framework将数据显示于视图 》 http://www.cnblogs.com/insus/p/3364235.html 《 MVC用非Entity Framework将数据显示于视图(二) 》 http:/

JavaWeb学习 (二十)————JavaWeb的两种开发模式

怎甘沉沦 提交于 2020-04-04 06:51:59
一、JSP+JavaBean开发模式 1.1、jsp+javabean开发模式架构   jsp+javabean开发模式的架构图如下图(图1-1)所示 图1-1   在jsp+javabean架构中,JSP负责控制逻辑、表现逻辑、业务对象(javabean)的调用。   JSP+JavaBean模式适合开发业务逻辑不太复杂的web应用程序,这种模式下,JavaBean用于封装业务数据,JSP即负责处理用户请求,又显示数据。 1.2、JSP+JavaBean开发模式编写计算器   首先分析一下jsp和javabean各自的职责,jsp负责显示计算器(calculator)页面,供用户输入计算数据,并显示计算后的结 果,javaBean负责接收用户输入的计算数据并且进行计算,JavaBean具有firstNum、secondNum、result、 operator属性,并提供一个calculate方法。   1、编写CalculatorBean,负责接收用户输入的计算数据并且进行计算   CalculatorBean代码如下: 1 package me.gacl.domain; 2 3 import java.math.BigDecimal; 4 5 /** 6 * @author gacl 7 * CalculatorBean用于接收输入参数和计算 8 */ 9 public

JavaWeb程序架构模式的演进

点点圈 提交于 2020-04-02 06:38:41
JavaWeb程序架构模式的演进 老一辈的程序员一般都经历了Web程序架构模式的演进,从最开始的在jsp或者jsp+Servlet上做开发,到后来的mvc、三层等。而现在有挺多人学完web,可能都没怎么使用过jsp或jsp+Servlet开发过项目,就直接学习使用Spring、Spring Boot或者SpringMVC等框架进行开发。如果没有经历这样一个逐步演进的过程,就很难理解框架带给了我们什么样的好处,而且开发过程中遇到问题也难以解决,更别说去学习这些框架中的源码了。学习是一个循序渐进的过程,不能急于求成,所以本文旨在简单的聊一聊Web的发展史。 一、web发展简史 以目前Spring Boot作为时间轴的话,web发展的过程大致可以分为以下几个阶段: 1.纯jsp / jsp+Servlet / jsp+JavaBean+Servlet 2.MVC / MVP / 三层架构 3.使用EJB进行分布式应用的开发,EJB是重量级框架,在使用上比较复杂和麻烦 4.由于EJB太重了,于是Spring应运而生,但是Spring在发展上越来越臃肿,所以还是有许多繁琐的配置 5.同样的由于String配置太繁琐,于是Spring boot诞生了,这时就可以体验到 “约定大于配置” 的乐趣 二、web发展初始阶段 1.jsp / jsp+Servlet / jsp+JavaBean

使用MVC模型的几个常见误区

瘦欲@ 提交于 2020-03-31 08:04:08
使用 MVC模型的几个常见误区 转载时请注明出处和作者联系方式: http://blog.csdn.net/absurd 作者联系方式: Li XianJing <xianjimli at hotmail dot com> 更新时间: 2006-12-19 像名片、日程、任务、短信、文件浏览器和多媒体播放器等应用程序,都采用 MVC 模型作为其基本架构。但从这段时间的文档评审来看,我们对 MVC 模型的理解仍然存在一些误区。这里简单谈一谈,欢迎交流。 先说两句题外话,免得少数网友替我着急。他们会说,拜托,你写点新内容好不好,不要用 MVC 这类老掉牙的东西来充数。呵,很多人都热衷于新技术,我以前也一样。经过五六年的学习和实践后,让人遗憾的是,我没有发现什么真正的新技术。相反,倒是一些 ” 老 ” 技术充满魅力。包括像汇编语言、 C/C++ 、 awk/bash 、计算机组成原理、操作系统原理、数据库原理、编译原理、数据结构、 TCP/IP 实现、面向对象、设计模式、 POSA 、代码重构、自动测试、人机交互, RUP/XP 等比较通用的知识,也包括像 linux 、 apache 、 xerces/xalan 、 GTK+/X/glib 、 STL/boost 、 MFC 、 COM/DCOM 等这样特定平台 / 函数库。根据自己的经验来看,了解一项技术的基本内容并不难

ASP.NET没有魔法——ASP.NET MVC & 分层

落花浮王杯 提交于 2020-03-30 16:53:28
  上一篇文章简要说明了MVC所代表的含义并提供了详细的项目及其控制器、视图等内容的创建步骤,最终完成了一个简单ASP.NET MVC程序。   注:MVC与ASP.NET MVC不相等,MVC是一种开发模式,而ASP.NET MVC是MVC这种模式的其中一种实现方式,本文中提到的MVC如果没有特指,那么均表示ASP.NET MVC。   本文将从ASP.NET的M-V-C到底代表什么?如何编写对应的代码?来讨论如何使用ASP.NET MVC开发应用程序。   ○ ASP.NET MVC与分层   ○ ASP.NET MVC中的M代表什么   ○ ASP.NET MVC的V和C是如何交互的   ○ ASP.NET MVC中的C应该如何处理业务逻辑   ○ 如何使用ASP.NET MVC ASP.NET MVC与分层   什么是分层?   在了解分层之前,先了解一下层次的概念,层次是指系统在结构或功能方面的等级秩序。具有多样性,可按物质的质量、能量、运动状态、空间尺度、时间顺序、组织化程度等多种标准划分。不同层次具有不同的性质和特征,既有共同的规律,又各有特殊规律。(来自百度百科)    所以分层实际上是根据一定的标准和规律,将一个整体划分为多个层次,保证每一个层次中的内容都有共同的性质和特征,便于针对每一个层次进行维护管理。   代码分层:  

初识mvc分层思想

怎甘沉沦 提交于 2020-03-30 16:51:37
首先要清楚的是: mvc是一种设计模式,一种分层思想,没有具体的技术与之对应,无论是js还是java或者其他的技术都可以运用。 既然是分层那么这些层都有哪些职责呢? View层(界面层): 为用户展示数据,渲染由controller层和module层处理完的数据。 Controller层(业务逻辑层): 接收界面层的数据,对接受到的数据进行封装和类型转换。 调用模型层的服务进行业务逻辑的处理。 调用合适的视图去渲染数据。 Model层(模型层 ): 提供算法,比如:业务算法实现,数据持久算法等。 分层思想往往都是为了解决耦合,分散关注,mvc在web领域是如何解决耦合问题的?? 如:一开始我们使用一个servlet会同时做几件事情,db操作,业务流程控制,html,json视图的处理等等, 调试和维护系统的时候,我们必须将这几个关注点挨个过一遍才能排查问题。 使用mvc分层思想我们就可以将数据操作和业务流程控制放到module(模型)层去做, control(控制)层专门负责跳到指定的servlet中然后调用模型层的完成业务。 view(视图)层负责将处理完的数据进行页面的渲染。 这样一来分层明确,问题定位很快。 为什么要用mvc框架??? 使用一个框架时,MVC的基本结构已经包含在其中,你只需对这些结构进行扩充,将你的文件遵照MVC的模式放置到合适的目录中去。

第一章 Web MVC简介

让人想犯罪 __ 提交于 2020-03-30 06:28:43
Web MVC简介 1.1、Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1、 Web浏览器(如IE)发起请求,如访问hao123主页 2、 Web服务器(如Tomcat)接收请求,处理请求(比如用户新增,则将把用户保存一下),最后产生响应(一般为html)。 3、web服务器处理完成后,返回内容给web客户端(一般就是我们的浏览器),客户端对接收的内容进行处理(如web浏览器将会对接收到的html内容进行渲染以展示给客户)。 因此,在Web世界里: 都是Web客户端发起请求,Web服务器接收、处理并产生响应。 一般Web服务器是不能主动通知Web客户端更新内容。虽然现在有些技术如服务器推(如Comet)、还有现在的HTML5 websocket可以实现Web服务器主动通知Web客户端。 到此我们了解了在web开发时的请求/响应模型,接下来我们看一下标准的MVC模型是什么。 1.2、标准MVC模型概述 MVC 模型: 是一种架构型的模式,本身不引入新功能,只是帮助我们将开发的结构组织的更加合理,使展示与模型分离、流程控制逻辑、业务逻辑调用与展示逻辑分离。如图1-2 图1-2 首先让我们了解下MVC(Model-View-Controller)三元组的概念: Model (模型): 数 据模型,提供要展示的数据,因此包含数据和行为

前端Web开发MVC模式-入门示例

血红的双手。 提交于 2020-03-23 08:32:44
MVC概论起初来之桌面应用开发。其实java的structs框架最能体现MVC框架:model模型是理解成服务器端的模块程序;view为发送给客服端的内容;control为servlet程序控制跳转和工作流。 随着前端Ajax兴起、前端开发工作进一步划分:js程序员和ue页面制作、另外从整个前端项目的清晰明朗可以扩展性角度来看,MVC的应用也越来越必要,特别是对大的项目? 例如 需要给一个页面上的button注册一个onclick事件。 1、我们可以有如下最简洁的写法:(view和model control完全混合) <html> <head> <title> example </title> </head> <body> <input type="button" value="baidu" onclick="alert(this.value);"/> </body> </html> 说明:如上写法的好处:简单、直接; 严重的弊端:如果都是这样写法,页面代码很大的时候,修改js代码还需要查找整个页面,导致整个页面非常混乱。 批注:类似与 jsp中直接嵌入java片段语句。 2、将html和js代码进行适当分离:(view和model control在同一页面适当分离) 修改以上的写法: <html> <head> <title> example </title> </head>

简单理解前端web开发的MVC模式

混江龙づ霸主 提交于 2020-03-23 08:31:32
随着前端Ajax兴起、前端开发工作进一步划分:js开发和ui页面制作、另外从整个前端项目的清晰明朗以可扩展性角度来看,MVC的应用也越来越必要,特别是对大的项目。 例如 需要给一个页面上的button注册一个onclick事件。 1、我们可以有如下最简洁的写法:(view和model control完全混合) <HTML> <HEAD> <TITLE> example </TITLE> </HEAD> <BODY> <input type="button" value="baidu" onclick="alert(this.value);"/> </BODY> </HTML> 说明:如上写法的好处:简单、直接;严重的弊端:如果都是这样写法,页面代码很大的时候,修改js代码还需要查找整个页面,导致整个页面非常混乱。 2、将html和js代码进行适当分离:(view和model control在同一页面适当分离) 修改以上的写法: <HTML> <HEAD> <TITLE> example </TITLE> </HEAD> <BODY> <input type="button" value="baidu" onclick="tipInfo(this);"/> <SCRIPT LANGUAGE="JavaScript"> <!-- function tipInfo(obj){ alert