Play-by-Play
The following is a brief outline of what you can expect to find in the rest of this book:Part I: The Leap to Object-Oriented Programming
Chapter 1, "The Object Model." Object-oriented programming has been around for ages, but it's a new concept for developers with a scripting background. You'll learn that everything is an object in .NET, including your own code. We'll analogize the concept of object-oriented programming to the classic example of the structure and use of cars.Chapter 2, "Classes: The Code Behind the Objects." After you see what an object is and how it contains some kind of functionality, we'll get into the nuts and bolts of writing a class. You'll learn about the instantiation of objects, inheritance, protection levels, static methods, enumerations, and interfaces.Chapter 3, "Class Design." A class can serve many different purposes in an application. Your classes can execute a block of code, much as the familiar System.Web.UI.Page class does, and at times they can do nothing other than group data together. More useful classes can do all these things.Chapter 4, "Application Architecture." Apart from ASP.NET, then-tier approach to application development can make even the largest projects easier to build, deploy, and maintain. We'll take a look at this common design pattern and address when and when not to use it.Chapter 5, "Object-Oriented Programming Applied: A Custom Data Class." This chapter presents you with a practical example of class design that manipulates database data and even caches it for better performance. This model shows you the payoff of object-oriented code, where you write it once and use it many times.Part II: The ASP.NET Architecture
Chapter 6, "The Nuts and Bolts of IIS and Web Applications." Regardless of how you code your application, the files, folders, and assemblies need to be in the right places to make everything work.Chapter 7, "The ASP.NET Event Model." Every request by users of your application has a fascinating life cycle. By understanding and following that life cycle, you can intervene or perform certain actions at just the right time to get the most out of your application. The execution of page, application, and control events is covered.Chapter 8, "HttpHandlers and HttpModules." ASP.NET can do so much more than produce pages, and HttpHandlers and HttpModules are just the tools you'll need for special requests. I'll give you an example of a handler that will protect your images from being bandwidth leeched.Chapter 9, "Server Controls." You might find that you use the same combination of controls frequently or that an existing control doesn't meet your needs. Building your own isn't that hard, and it's exactly the same process used by Microsoft to create many of the controls you already use.Chapter 10, "Web Services as Objects." It's easy to create a Web service from your existing code, and it's easy to create a proxy class that consumes the service. What might not be as obvious is that Web services enable you to use that remote code as if it were an object local to your application.Chapter 11, "Membership and Security." ASP.NET has a rich set of classes to help you control access to your site and verify who your users are. You can use little or no code to identify your users, or extend the system to make your own custom solution. You'll learn how to develop a custom Membership provider to connect the system to your own data.Chapter 12, "Profiles, Themes, and Skins." Chances are you'll want to keep more than just a user's email and password, and again the ASP.NET team has made it possible to store this data with little effort on your part. You can also take the leap to extend the system with your own provider. Your users' preferences can be tied into an extensive skinning system so they don't have to live with your site's "look."Chapter 13, "Declarative Programming." With all this talk of object-oriented code, what is declarative programming, and where does it fit? We'll cover some of the common controls and their uses available in ASP.NET.Part III: Development Issues
Chapter 14, "Developing with Visual Studio." Heralded by many as the greatest development tool ever made, it's not without its nuances and quirks. It quite possibly is the greatest tool, but you'll have to start thinking a little like a desktop application developer. We'll look at the approach the software takes to making your events happen and how to debug with the best of them.Chapter 15, "Performance, Scalability, and Metrics." There are probably hundreds of things you can do to make your code industrial-strength, but there are a few basics you should know and live by. A number of tools and techniques provide the foundation for measuring the performance of your application.Chapter 16, "Testing, Deployment, and Code Management." The bigger a project gets, the harder it can be to maintain and deploy. There are a number of ways to keep everything organized while testing and versioning your code. We'll discuss the basics of test-driven development here.Chapter 17, "More Advanced Topics." The .NET Framework has more classes than you can shake a stick at. Here are a few of the more useful ones in a high-level overview, including streams, networking, and threading.