园子的新书 《ASP.NET 本质论》
本书的起源
经常有人问起:应该如何学习 ASP.NET 开发?为什么开始的时候感觉很容易,但是,遇到问题的时候却感到无从下手?太多的人开始学习的时候,对 ASP.NET 有着深深的误解,包括我自己。
很多人选择 ASP.NET 的理由是因为它简单:中文开发环境、简体中文的文档、简单的拖放式开发、类似于 WinForm 的开发体验等。Visual Studio 和 .NET Framework为我们提供了一个极其方便的开发环境,很多人因此进入了 ASP.NET 开发之门,甚至有相当多的 ASP.NET 程序员都没有了解过 HTTP 协议的内容,或者 HTML 的语法,也同样在完成着开发任务。
这究竟是 ASP.NET 技术的成功,还是失败?
在 ASP.NET 中,组件技术被用到极致,整个 ASP.NET 就是一个高级组件,内部又可以分为控件组件、状态管理组件、用户管理组件等。组件技术的使用将 ASP.NET 程序员分为两大类:开发组件的程序员和使用组件的程序员。
开发组件的程序员需要掌握 ASP.NET 的运行机制,熟悉 ASP.NET 处理 HTTP 请求的整个过程,对通过.NET 技术来解决 Web 请求处理的方法有着深刻的理解,这一切对程序员有着很高的要求。而使用组件的程序员只需要使用开发完成的组件,将组件通过工具箱拖放到窗体上,然后,通过属性窗口设置组件的属性,再加上一些机械的处理,就可以快速开发出应用程序。甚至完全不需要知道组件的背后在发生着什么。在许多ASP.NET 技术演示中,好像一次魔术表演,就神奇地完成了开发任务。开发中的这种分工提高了开发的效率。
那么,我们希望成为哪一种程序员呢?
成为使用组件的程序员比较容易,成为开发组件的程序员很难。高内聚、低耦合的组件也造成了很陡峭的技术壁垒,需要辛苦地攀登。那么,在这个组件开发的时代,我们还需要学习组件的知识吗?答案是:需要!一定需要!即使我们不开发组件,也不能不理解组件!组件的使用千变万化,但是万变不离其宗。如果你希望成为自由驰骋在 ASP.NET 领域的骑手,那就跟随我进行一次穿越 ASP.NET 的开心之旅吧!
面向的读者
本书面向的读者是准备深入学习 ASP.NET 的学生和有1~2年 ASP.NET 工作经验,但是希望进一步提高开发技能,深入掌握 ASP.NET 高级编程的程序员。通过系统地学习 ASP.NET 的处理机制,为成为一个高级的 ASP.NET 软件开发人员打下坚实的基础。
特色
本书不从 C# 讲起,也不讲解控件的属性及使用,没有设计模式的分析,甚至没有任何数据库的内容。所以,不要希望通过本书来学习一个 ASP.NET 的购物网站如何完成。
在本书中,有 ASP.NET 与 HTTP 关系的详细分析,有事件处理机制在 ASP.NET 中的应用,有多线程程序在 ASP.NET 中的应用与分析,有控件与流的关系,有控件与 HTML 之间关系的详细分析,有各种状态管理机制实现的内幕。总起来说,这里只有 ASP.NET 的内在运行机制的分析。本书对 ASP.NET 的组件机制进行了详细的分析,希望能够帮助你理解 ASP.NET 应用程序为什么这样写的问题。从前,你可能会使用各种控件,可能还掌握各种开发技巧。通过本书你可以创建自己的组件,发现未知的技巧!看了此书之后,希望你说:原来如此!
如何阅读本书
本书从 HTTP 请求开始,将会带领你穿越整个 ASP.NET 的处理过程,以请求的处理过程为主线,对每一步处理所涉及的技术进行深入的剖析,结合开发中常见的问题,分析问题的原因并给出解决方案。包括最新的 MVC 技术。书中的每一章也独立成篇,你可以根据自己的需要来选择阅读。
从第1章~第4章是 ASP.NET 的核心部分,重点讨论了 ASP.NET 中对于请求的处理机制,ASP.NET 中对象与 HTTP 之间的映射关系,应用程序处理管道的处理过程,处理程序的处理机制,以及多线程技术在 ASP.NET 中的应用。
从第5章~第8章是经典的 WebForm 部分,重点讨论了控件的原理与页面的生成机制。详细讨论了流与控件的关系,控件与 HTML 的关系,数据绑定控件与模板的关系,以及 ASP.NET 中各种状态管理技术。
第9章分析了开发 ASP.NET 程序的另外一种选择 ASP.NET MVC 的处理过程,分析了 ASP.NET MVC 应用程序与经典的 ASP.NET 程序之间的关系,以及 MVC 内部的处理过程。并对关键的处理过程进行了详细的讨论。
ASP.NET 应用程序不是一个独立的应用程序,需要寄宿于 Web 服务器之上。第10章讨论了 ASP.NET 与 IIS 服务器之间的关系,并针对不同的 IIS 版本分别分析了其处理过程。
最后一章针对 ASP.NET 应用程序中的用户问题进行了分析,剖析了在 ASP.NET 中处理用户问题的各种方案,对处理不同环节中的用户及其转换关系进行了详细的分析。
互动出版网上的地址:《ASP.NET 本质论 》
豆瓣上的地址:《ASP.NET 本质论》