第一节:写作本书的目的

  关于笔者

  张晓亭(Mike Cheers),1982年出生,内蒙古辽阔的大草原是我的故乡。

  没有高学历,没有侃侃而谈的高谈阔论,拥有的就是那一份对技术的执著,对自我价值的追求。

  我是谁,其实并不重要,我是高级开发、我是架构师、我是技术经理,这些都是我,跟各位没有半毛钱关系。最重要的是,我能给读者带来什么。接下来的日子里,就看看本书能给各位带来什么惊喜,也许到最后,你都不会记得我的名字,没有关系,相信我,那并不重要。

  关于本书

  本书是《破境之道》系列技术丛书中的一部分,将针对ASP.Net MVC 5进行系统全面的讲解,写作意图就是希望能够通过本书使读者能够深入掌握ASP.Net MVC的方方面面。所谓“破境”,源自修行者在修行之路上对境界的突破。这里也深含着笔者对读者的一份殷切期望,希望能够帮助读者在技术修行的道路上,达到“武道巅峰”。

  本系列丛书又名《看完丢掉》。知识、技术逐渐变成快销品,虽然笔者也不愿意这样,但回头看看,当初步入修行队伍时,使用的ASP、VBScript等等,也早已淡出人们的视线,相信所剩无几了吧。时代在发展,科技在进步,大多数从业者也都习惯了每日甚至是没日没夜的追随新的前沿技术潮流,虽已疲惫不堪,但也乐此不疲。这也是本系列丛书在命名上对从业者的期许,希望能够帮助读者详细梳理知识点,在心中形成知识体系,并通过各种角度分析加深印象,牢记于心,将知识从枯燥的文字搬入脑海。那么,然后呢,这本书就可以丢掉了!不要止步,还有更多的知识在等待着我们。

  本系列丛书,将尽量使用当下最为流行甚至前沿的技术版本,但,毕竟写作也需要耗费大量的时间精力,可能在您看到本书的时候,它已失去了耀眼的光辉,不过还是希望能够对那些没有技术框架更新需求或计划的产品线有所帮助。同样,如果读者对某些知识点还存在疑惑,也可以通过本书来进行一个查漏补缺,相信对快速掌握新技术也是会有所帮助的。

  本书的写作目的很明确,深入探究ASP.Net MVC 5的技术细节以及在实际工作中,需要注意的“坑”。

  本书并不是入门书籍,并没有将知识点做层次划分,因为实际生产过程中,要求就是很高,没有产品经理跑过来会对你说:“兄弟,咱们这周先搭一个入门级商城先用着,下周再升级成中级,月底咱们再升级成高级的,你说好不好?”。相信他这么说,你是很满意了,因为你看到的入门书籍太多了,很习惯,很适应甚至是很喜欢,不过,到不了月底,这位产品经理可能已经离去了。

第二节:ASP.Net MVC 5 概述

  主要特性

  • One ASP.NET:选择困难症得到缓解,构建项目时以及开发过程中可以融入其他应用类型。
  • ASP.NET Identity:彻底重写了成员和身份验证系统,可配制性更好。
  • Bootstrap模板:引入流行的Bootstrap框架,对响应式布局的支持更好。
  • 特性路由:新的指定路由的方法,可通过在控制器类或操作方法上添加注解实现。
  • ASP.NET基架:新的基架系统可以在任何ASP.NET应用程序中工作,另外,还可以自定义基架。
  • 身份验证过滤器:基于角色身分或其他自定义逻辑来限制访问控制器或操作。身份验证过滤器先于授权过滤器,允许访问ASP.NET Identity提供的用户声明,以及运行自定义的身份验证逻辑。
  • 过滤器重写:允许开发人员参与操作和结果执行管道,可以使某个控制器或操作不执行全局过滤器。
  •   这些特性都将融入在具体章节中详细讲解。

      约定

      约定也是MVC的重要特性,MVC的设计人员为了减少开发人员繁杂和重复的配置工作,指定了很多“潜规则”,而这些约定,又很合乎常理,所以,在开发过程中,并没有给开发人员带来突兀的感觉,就像是理所当然,反而容易忽略了设计人员的用心良苦。

      例如,当从Controller类中引用视图时,默认情况下,MVC会从\Views\[ControllerName]\目录中查找视图模板文件,这种目录命名结构就是一种约定。

      约定优于配置

      Model:应用程序的所有模型都放置在Models目录中;

      View:应用程序的所有视图都放在Views目录中;控制器使用的视图是在Views主目录的一个子目录中,这个子目录是根据控制器名称(减去Controller后缀)来命名的;可重用的视图,都位于\Views\Shared目录中;

      Controller:每个Controller的名字都以Controller结尾,如HomeController,这些Controller类都放在Controllers目录中;

      只要如此使用这些约定,就无需做任何配置,MVC就真的能懂你。

      约定简化沟通

      这些约定,能够让MVC准确的理解你的意思,也请你相信,这些约定,也能让世界上所有的ASP.NET MVC开发人员(包括以后的自己)都懂你。

      这些约定,让你的代码变得更清晰,更容易维护、调试以及升级。

      好了,对本书稍作了解,下面就开始我们的修行之道吧。

    第三节:开发环境准备

      想要开始我们的MVC之旅,开发环境是必不可少的,但是本书并不想浪费过多笔墨在基础环境搭建上,只是列出基础环境需求以及本书中使用的IDE开发环境。

  •  Windows操作系统
  •  Visual Studio 2017
  •  SQL Server
  •  但还是需要读者有一定的C#及数据库方面的知识,越强越好!可以参阅本系列丛书中的其他书籍。

《ASP.NET MVC 5 破境之道》:概述的更多相关文章

  1. 『TCP/IP详解——卷一:协议』读书笔记——01

    从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...

  2. 『TCP/IP详解——卷一:协议』读书笔记——10

    2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...

  3. 【TCP/IP详解 卷一:协议】第二章:链路层

    2.1 引言 链路层的三个目的: (1)为IP模块发送和接收IP数据报. (2)为ARP模块发送ARP请求和接收ARP应答.地址解析协议:ARP. (3)为RARP模块发送RARP请求和接收RARP应 ...

  4. TCP/IP详解学习笔记- 概述

    TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构      网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统.      如图所 ...

  5. TCP/IP详解 卷一(第一章 概述)

    很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们相互进行通信. 1.分层 TCP/IP不是一个协议,而是一个协议族,通常它被认为是一个四层的协议系统,下面展 ...

  6. 《TCP/IP详解卷一:协议》 概述

    分层           TCP/IP协议族是一组不同层次上的多个协议的组合.TCP/IP通常被认为是一个四层次协议系统.   链路层(数据链路层或网络接口层):通常包括操作系统中的设备驱动程序和计算 ...

  7. 【TCP/IP详解 卷一:协议】TCP的小结

    前言:TCP学习的综述 在学习TCP/IP协议的大头:TCP协议 的过程中,遇到了很多机制和知识点,详解中更是用了足足8章的内容介绍它. TCP协议作为 应用层 和 网络层 中间的 传输层协议,既要为 ...

  8. 【TCP/IP详解 卷一:协议】第十一章 UDP 用户数据报协议

    11.1 引言 UDP 是一个简单的 面向数据报 的运输层协议:进程的每个 输出操作 都正好产生一个 UDP数据报,并且组装成一份待发送的IP数据报. 这与 TCP 不一样,它是 面向流字符 的协议, ...

  9. 【TCP/IP详解 卷一:协议】第六章:DHCP 和自动配置

    简介 为了使用 TCP/IP 协议族,每台主机or路由器都需要一定的配置信息: IP地址 子网掩码 广播地址 路由或转发表 DNS 协议配置方法: 手动 通过使用网络服务来获得 使用一些算法来自动确定 ...

  10. 【TCP/IP详解 卷一:协议】第一章概论 学习笔记

    第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...

随机推荐

  1. python作业(第十一周)基于RabbitMQ rpc实现的主机管理

    作业需求: 可以对指定机器异步的执行多个命令 例子: >>:run "df -h" --hosts 192.168.3.55 10.4.3.4 task id: 453 ...

  2. memcache缓存失效

    缓存过期 memcached在处理过期的缓存项时,采用懒惰模式处理方法. 缓存项过期,不会立即删除,直到对该缓存项执行了get操作,才会删除过期缓存. > set key 0 10 > t ...

  3. 关于session报错问题。

    刚开始一直报500错误,页面不提示,也没想着去查看日志文件.好几天了,一看日志,发现是这个问题.问了一下,是session的问题. 2017/07/25 16:57:49 [error] 2300#0 ...

  4. JS如何获取PHP循环中的ID

    JS如何获取PHP循环中的ID  kaalrz 二路公交车    结帖率:83.33%   首先抱歉,因为昨天那帖图片几次都不能用,修改到不能再次修改,今天早上回帖又提示没有这个帖,只好重发一次. 如 ...

  5. APP UI结构-首页功能点大集锦,很干很详细

    APP UI结构的系列的文章有一段时间没有更新了,因为最近在学一些新东西和看一些新书籍,适当的给自己充电也是为了更好的输出,言归正传,今天想跟大家聊的是和首页相关的一些内容,可能有些内容最近有的小伙伴 ...

  6. centos6.5 设置ssh无密码登录

    :关闭防火墙 vim /etc/selinux/config 把SELINUX=enforcing修改为SELINUX=disabled   A机器root连接B机器root用户 (root用户登录) ...

  7. 关闭文件流--fclose,

    头文件:#include<stdio.h> 函数原型:int fclose(FILE *fp) 参数说明:fp将被关闭的文件指针 返回值:成功返回0,失败返回EOF宏.

  8. 2018.09.20 atcoder 1D Reversi(模拟)

    传送门 考虑每次摆石头都会消去最外层的一个连续颜色串. 所以只用统计一下有多少段颜色即可. 代码: #include<bits/stdc++.h> using namespace std; ...

  9. 如何在MAC下安装Myeclipse2015真的很虐心!!!!!!!!!!

    最近笔者换了一个新的笔记本,mac pro 因为同学说大公司的web开发都是写在Linux操作系统下的,所以我决定搞一个,但是装软件就是很困难啊!找了大量资料发现都不全,最后,终于搞好了,分享给同样虐 ...

  10. Redis - 事务(multi,exec,watch,unwatch)

    转载自:https://blog.csdn.net/wgh1015398431/article/details/53156027:加了一些自己的注解 1.事务 1.1 概述 Redis中的事务(tra ...