一:ASP.NET MVC背景

本人学东西一直有始无终。不知不觉就把学过的东西忘掉了。今天开始记录学习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表达,匿名和动态类型等语言特性
  • 开源

 

posted @ 2018-10-25 17:29  岚山夜话  阅读(576)  评论(0编辑  收藏  举报