Part 3 examines master-level techniques of not only using the ASP.NET MVC Framework, but developing and deploying maintainable applications. The topics presented here will help you as the size of the applications you tackle grows larger and more complex. Not only does part 3 discuss some best practices born from experience on real projects, but it also explains some challenges you’ll run into when the ASP.NET MVC project is organized as a team project. Having a single, repeatable deployment process is one of these topics. Eliminating repetitive mapping code is another.
Chapter 16 looks at routing, including custom routes and testing routes with MvcContrib. Chapter 17 covers deployment techniques, such as continuous integration, push-button deployments, and build automation. Chapter 18 introduces using the AutoMapper open source library for creating maintainable view models. Chapter 19 tackles controller complexity, looking at techniques to reduce the coupling and maintenance problems of large, complex controllers. Chapter 20 examines an often-overlooked topic: full system testing through automated UI tests. Chapter 21 talks about another new feature in ASP.NET MVC 2-areas, and managing content and URLs between areas. Chapter 22 expands on the concept of areas and looks at the MvcContrib concept of portable areas. Part 3 concludes with chapter 23, delving into data access with NHibernate. Although ASP.NET MVC is first and foremost a presentation-layer library, many applications need to store and retrieve data from a relational database, so we have included material on how NHibernate, a popular data-access library, works with ASP.NET MVC.
Mastering the topics in part 3 will not happen by taking one pass through the text. It will happen by applying these techniques over and over. Every code example exists in a Visual Studio solution and the code package is available from the book’s website. Try modifying these examples to extend the sample code. This will help you gain a deeper understanding of these important topics. We hope you will continually refer back to part 3 as you employ ASP.NET MVC in your web application projects, but when you are ready, part 4 will bring to bear all you have learned with some additional cross-cutting topics.