好书推荐《Pro ASP.NET MVC 3 Framework 3rd Edition》
花了两个多星期的时间,从头到尾看了一遍,看此书如沐甘霖,绝对是一本好书。第4章讲的非常精辟,先介绍了架构模式的演化历史,从Smart UI, Model-View, Three-Tier到MVC;并比较了与Model-View-Presenter和Model-View-View Model的区别。然后介绍了领域驱动(Domain-Driven Development)、依赖注入(Dependency Injection)和单元测试(Unit Testing),再后面的章节中贯彻了这三种思想并用在了实例中。第6章介绍的Nject和Moq工具以前也没用过,再不用的话就会感觉很落后。第11至20章是本书的核心内容,详细讲解了ASP.NET MVC 3 Framework,尤其是15至19章能学到很多新知识。
以前也感觉MVC好用,但是觉得不够快,不能拖一些控件直接到页面上,看完此书才知道并没有把MVC真正的优势发挥出来,当然VS如果能自带多一些MVC的控件就更好了。
另外关于MongoDB,推荐《MongoDB.in.Action》,这本也看了一大半了。
附:目录
Part 1: Introducing ASP.NET MVC 3
第1部分:ASP.NET MVC 3介绍
Chapter 1: What’s the Big Idea?
第1章:伟大的思想
Chapter 2: Getting Ready
第2章:准备工作
Chapter 3: Your First MVC Application
第3章:第一个MVC应用程序
3.1 Creating a New ASP.NET MVC Project【生成一个新的MVC项目】
3.2 Rendering Web Pages【渲染Web页面】
3.3 Creating a Simple Data-Entry Application【生成一个简单的数据-实体应用程序】(一)
3.3 Creating a Simple Data-Entry Application【生成一个简单的数据-实体应用程序】(二)
3.4 Summary【概要】
Chapter 4: The MVC Pattern
第4章:MVC模式
4.1 The History of MVC【MVC简史】
4.2 Understanding the MVC Pattern【理解MVC模式】
4.3 Applying Domain-Driven Development【运用域驱动开发】
4.4 Building Loosely Coupled Components【建立松耦合组件】
4.5 Getting Started with Automated Testing【自动测试初步】
4.6 Summary【概要】
Chapter 5: Essential Language Features
第5章:基本语言特性
5.1 Essential C# Features【C#基本特性】(自动属性、对象与集合初始化器)
5.1 Essential C# Features【C#基本特性】(扩展方法)
5.1 Essential C# Features【C#基本特性】(Lambda表达式)
5.1 Essential C# Features【C#基本特性】(自动类型接口、匿名类型、LINQ查询、延迟LINQ)
5.2 Understanding Razor Syntax【理解Razor语法】(一)
5.2 Understanding Razor Syntax【理解Razor语法】(二)
5.3 Summary【概要】
Chapter 6: Essential Tools for MVC
第6章:MVC主要工具
6.1 Using Ninject【使用Ninject】
6.2 Applying Ninject to ASP.NET MVC【将Ninject用于ASP.NET MVC】
6.3 Unit Testing with Visual Studio【Visual Studio的单元测试】
6.4 Using Moq【使用Moq】
6.5 Summary【概要】
Chapter 7: SportsStore: A Real Application
第7章:体育商店:一个真实的应用程序
7.1 Getting Started【开始】
7.2 Starting the Domain Model【域模型】
7.3 Displaying a List of Products【显示产品列表】
7.4 Preparing a Database【准备数据库】
7.5 Adding Pagination【添加分页】
7.6 Styling the Content【设置内容样式】
7.7 Summary【概要】
Chapter 8: SportsStore: Navigation and Cart
第8章:体育商店:导航与购物车
8.1 Adding Navigation Controls【添加导航控件】
8.2 Building the Shopping Cart【建立购物车】
8.3 Using Model Binding【使用模型绑定】
8.4 Completing the Cart【完成购物车】
8.5 Submitting Orders【递交订单】
8.6 Summary【概要】
Chapter 9: SportsStore: Administration
第9章:体育商店:管理
9.1 Adding Catalog Management【添加目录管理】
9.2 Securing the Administration Features【使管理特性安全】
9.3 Image Uploads【图像上载】
9.4 Summary【概要】
Part 2: ASP.NET MVC 3 in Detail
第2部分:ASP.NET MVC 3细节
Chapter 10: Overview of MVC Projects
第10章:MVC项目概览
10.1 Working with Visual Studio MVC Projects【与Visual Studio MVC项目一起工作】
10.2 Debugging MVC Applications【调试MVC应用程序】
10.3 Project-Wide Dependency Injection【项目范围上的依赖性注入】
10.4 Summary【概要】
Chapter 11: URLs, Routing, and Areas
第11章:URL、路由及区域
11.1 Introducing the Routing System【路由系统介绍】
11.2 Generating Outgoing URLs【生成输出的URL】
11.3 Customizing the Routing System【定制路由系统】
11.4 Working with Areas【对区域进行工作】
11.5 URL Schema Best Practices【URL模式最佳实践】
11.6 Summary【概要】
Chapter 12: Controllers and Actions
第12章:控制器与动作
12.1 Introducing the Controller【控制器介绍】
12.2 Receiving Input【接收输入】
12.3 Producing Output【产生输出】
12.4 Summary 【概要】
Chapter 13: Filters
第13章:过滤
13.1 Using Filters【使用过滤器】
13.2 Summary 【概要】
Chapter 14: Controller Extensibility
第14章:控制器扩展性
14.1 Request Processing Pipeline Components【请求处理管线组件】
14.2 Creating a Controller Factory【生成一个控制器工厂】
14.3 Working with the Built-In Controller Factory【与内建的控制器工厂一起工作】
14.4 Creating a Custom Action Invoker【生成自定义动作请求】
14.5 Using the Built-In Action Invoker【使用内建的动作请求】
14.6 Improving Performance with Specialized Controllers【用序列化控制器改善性能】
14.7 Summary【概要】
Chapter 15: Views
第15章:视图
15.1 Creating a Custom View Engine【生成自定义的视图引擎】
15.2 Working with the Razor Engine【与Razor一起工作】
15.3 Adding Dynamic Content to a Razor View【将动态内容添加到Razor视图】
15.4 Using HTML Helpers【使用HTML辅助器】
15.5 Using Sections【使用会话】
15.6 Using Partial Views【使用部分视图】
15.7 Using Child Actions【使用子动作】
15.8 Summary 【概要】
Chapter 16: Model Templates
第16章:模型模板
16.1 Using Templated View Helpers【使用模板化的视图辅助器】
16.2 Customizing the Templated View Helper System【自定义模板化的视图辅助器系统】
16.3 Understanding the Metadata Provider System【理解元数据提供器系统】
16.4 Summary【概要】
Chapter 17: Model Binding
第17章:模型绑定
17.1 Understanding Model Binding【理解模型绑定】
17.2 Using the Default Model Binder【使用默认的模型绑定】
17.3 Manually Invoking Model Binding【手工请求模型绑定】
17.4 Using Model Binding to Receive File Uploads【把模型绑定用于接收文件上载】
17.5 Customizing the Model Binding System【自定义模型绑定系统】
17.6 Summary【概要】
Chapter 18: Model Validation
第18章:模型检验
18.1 Creating the Project【生成项目】
18.2 Explicitly Validating a Model【明确地检验一个模型】
18.3 Displaying Validation Messages【显示检验消息】
18.4 Using Alternative Validation Techniques【使用另一种检验技术】
18.5 Performing Client-Side Validation【执行客户端检验】
18.6 Performing Remote Validation【执行远程检验】
18.7 Summary【概要】
Chapter 19: Unobtrusive Ajax
第19章:非强制Ajax
19.1 Using MVC Unobtrusive Ajax【使用MVC的非强制Ajax】
19.2 Setting Ajax Options【设置Ajax选项】
19.3 Creating Ajax Links【生成Ajax连接】
19.4 Working with Ajax Callbacks【与Ajax回递一起工作】
19.5 Working with JSON【与JSON一起工作】
19.6 Summary【概要】
Chapter 20: jQuery
第20章:jQuery
20.1 Creating the Project【生成项目】
20.2 Referencing jQuery【引用jQuery】
20.3 Writing jQuery Code【编写jQuery代码】
20.4 Basic jQuery Theory【jQuery基本理论】
20.5 Using jQuery Events【使用jQuery事件】
20.6 Using jQuery Visual Effects【使用jQuery可视化效果】
20.7 Using jQuery UI【使用jQuery的UI】
20.8 Summary【概要】
Part 3: Delivering Successful ASP.NET MVC 3 Projects
第3部分:交付成功的ASP.NET MVC 3项目
Chapter 21: Security and Vulnerability
第21章:安全性与脆弱性
21.1 All Input Can Be Forged【所有输入都可以伪造】
21.2 Cross-Site Scripting and HTML Injection【跨网站脚本与HTML注入】
21.3 Session Hijacking【会话劫机】
21.4 Cross-Site Request Forgery【跨网站请求伪造】
21.5 SQL Injection【SQL注入】
21.6 Using the MVC Framework Securely【安全地使用MVC框架】
21.7 Summary【概要】
Chapter 22: Authentication and Authorization
第22章:认证与授权
22.1 Using Windows Authentication【使用Windows认证】
22.2 Using Forms Authentication【使用表单认证】
22.3 Using Membership, Roles, and Profiles【使用成员、角色、与轮廓】
22.4 Why You Shouldn’t Use URL-Based Authorization【为什么不应该使用基于URL的认证】
22.5 Restricting Access Using IP Addresses and Domains【使用IP地址和主域限制访问】
22.6 Summary【概要】
Chapter 23: Deployment
第23章:部署
23.1 Preparing an Application for Deployment【进行应用程序部署的准备】
23.2 Understanding the IIS Fundamentals【理解IIS基础】
23.3 Preparing the Server for Deployment【准备部署服务器】
23.4 Deploying an Application【部署应用程序】
23.5 Summary【概要】
Index
索引