热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一:ASP.NETMVC背景

本人学东西一直有始无终。不知不觉就把学过的东西忘掉了。今天开始记录学习MVC过程。依据的资料是【精通ASP.NETMVC5】这本书,感觉还不错。决定从头到尾记录下学习的知识点、难点和疑问等。

本人学东西一直有始无终。不知不觉就把学过的东西忘掉了。今天开始记录学习MVC过程。

依据的资料是【精通ASP.NET MVC 5】这本书,感觉还不错。决定从头到尾记录下学习的知识点、难点和疑问等。

ASP.NET历史

Web Form的问题

  • View State重负太大
  • 页面生命周期维护困难
  • 关注分离的理念错误,仅仅是关注开发和显示分录,而没有关注显示代码和程序逻辑的分离
  • HTML受限控制,服务器控件生成的HTML代码不可知不可控
  • 抽象缺陷,视图取隐藏HTML和HTTP,但是为了实现自定义行为又要放弃这种抽象
  • 低可测试性

Web Form的优点

  • 改善了兼容性
  • 简化了开发

Web标准和REST

REST(Representational State Transfer)表现式状态传输已经称为应用程序在HTTP上互操作的主要体系架构。

REST就是根据资源(URL)和表示在这些资源上的可用操作(HTTP方法)来描述应用程序。如PUT和http://xxx/xxx/Product更新产品或DELETE方法删除产品等。HTTP方法和资源地址组合就可以对资源进行相应的操作就是REST。

不记得在哪个网站上看过一句话,SOAP的方式相当于把Web服务抽象成方法,REST是抽象成数据。

敏捷开发和测试驱动开发

敏捷开发是一种比较先进和开发流程方法学。主要的思路就是协同设计开发和测试并行推进。

测试驱动开发就是先定义结果也称为行为规范或者测试规范,然后依附该测试规范来设计软件

质量高的单元测试有NUnit,xUnit

模仿框架Moq,Rhino Mocks

控制反转容器Ninject,Auto Fac

持续集成服务器Cruise Control,TeamCity

对象关系映射器NHibemate,Subsonic

Node.js

  • 使用Javascript就可以应对客户端代码到服务器逻辑
  • 完全异步

Node.js的最大贡献是提供了一个能够编写开发工具相容的Javascript引擎

ASP.NET MVC优点

  • 优秀的架构,关注分离
  • 可扩展性,如路由系统,视图引擎,控制器工厂等。每个组件有三种选择,使用默认实现,使用子类,使用接口或基类的新实现替代组件
  • HTML和HTTP严格控制
  • 可测试性
  • 路由系统
  • ASP.NET平台的精华,如认证,成员,角色,配置文件以及国际化
  • 现代API,MVC5建立在.NET 4.5.1上,API可以充分利用该架构上的新技术,如linq,await,拓展方法,lambda表达,匿名和动态类型等语言特性
  • 开源

 


推荐阅读
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了一种图片处理应用,通过固定容器来实现缩略图的功能。该方法可以实现等比例缩略、扩容填充和裁剪等操作。详细的实现步骤和代码示例在正文中给出。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • MVC中的自定义控件
    怎么样创建自定义控 ... [详细]
author-avatar
红糖里有砂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有