Synopses & Reviews
Brilliantly compiled by author Juval Lowy, Programming .NET Components, Second Edition is the consummate introduction to the Microsoft .NET Framework--the technology of choice for building components on Windows platforms. From its many lessons, tips, and guidelines, readers will learn how to use the .NET Framework to program reusable, maintainable, and robust components.Following in the footsteps of its best-selling predecessor, Programming .NET Components, Second Edition has been updated to cover .NET 2.0. It remains one of the few practical books available on this topic. This invaluable resource is targeted at anyone who develops complex or enterprise-level applications with the .NET platform--an ever-widening market. In fact, nearly two million Microsoft developers worldwide now work on such systems.Programming .NET Components, Second Edition begins with a look at the fundamentals of component-oriented programming and then progresses from there. It takes the time to carefully examine how components can simplify and add flexibility to complex applications by allowing users to extend their capabilities. Next, the book introduces a variety of .NET essentials, as well as .NET development techniques. Within this discussion on component development, a separate chapter is devoted to each critical development feature, including asynchronous calls, serialization, remoting, security, and more. All the while, hazardous programming pitfalls are pointed out, saving the reader from experiencing them the hard way.A .NET expert and noted authority on component-oriented programming, Lowy uses his unique access to Microsoft technical teams to the best possible advantage, conveying detailed, insider information in easy-to-grasp, activity-filled language. This hands-on approach is designed to allow individuals to learn by doing rather than just reading. Indeed, after digesting Programming .NET Components, Second Edition, readers should be able to start developing .NET components immediately.Programming .NET Components, Second Edition is the consummate introduction to the Microsoft .NET Framework--the technology of choice for building components on Windows platforms. From its many lessons, tips, and guidelines, readers will learn how to use the .NET Framework to program reusable, maintainable, and robust components.Following in the footsteps of its best-selling predecessor, Programming .NET Components, Second Edition has been updated to cover .NET 2.0. This invaluable resource is targeted at anyone who develops complex or enterprise-level applications with the .NET platform--an ever-widening market.
About the Author
Juval Lowy is a software architect and the principal of IDesign, specializing in .NET architecture consulting and advanced training. Juval is Microsofts Regional Director for the Silicon Valley, working with Microsoft on helping the industry adopt .NET 4.0. He participates in the Microsoft internal design reviews for future versions of .NET and related technologies. Juval has published numerous articles, regarding almost every aspect of .NET development, and is a frequent presenter at development conferences. Microsoft recognized Juval as a Software Legend, one of the world's top .NET experts and industry leaders.
Table of Contents
Dedication; Preface; Scope of This Book; Some Assumptions About the Reader; Conventions Used in This Book; Comments and Questions; Safari Enabled; Acknowledgments; Chapter 1: Introducing Component-Oriented Programming; 1.1 Basic Terminology; 1.2 Component-Oriented Versus Object-Oriented Programming; 1.3 Principles of Component-Oriented Programming; 1.4 .NET Adherence to Component Principles; 1.5 Developing .NET Components; Chapter 2: .NET Component-Oriented Programming Essentials; 2.1 Language Independence: The CLR; 2.2 Packaging and Deployment: Assemblies; 2.3 Binary Compatibility; Chapter 3: Interface-Based Programming; 3.1 Separating Interface from Implementation; 3.2 Working with Interfaces; 3.3 Interfaces and Generics; 3.4 Designing and Factoring Interfaces; 3.5 Interfaces in Visual Studio 2005; Chapter 4: Lifecycle Management; 4.1 The Managed Heap; 4.2 Traditional Memory De-allocation Schemas; 4.3 .NET Garbage Collection; 4.4 Object Finalization; 4.5 Deterministic Finalization; Chapter 5: Versioning; 5.1 Assembly Version Number; 5.2 Assembly Deployment Models; 5.3 Strong Assembly Names; 5.4 Visual Studio 2005 and Versioning; 5.5 Custom Version Policies; 5.6 CLR Versioning; Chapter 6: Events; 6.1 Delegate-Based Events; 6.2 Working with .NET Events; Chapter 7: Asynchronous Calls; 7.1 Requirements for an Asynchronous Mechanism; 7.2 Revisiting Delegates; 7.3 Asynchronous Call Programming Models; 7.4 Asynchronous Error Handling; 7.5 Asynchronous Events; 7.6 Asynchronous Invocation Pitfalls; 7.7 Synchronous Versus Asynchronous Processing; Chapter 8: Multithreading and Concurrency Management; 8.1 Threads and Multithreading; 8.2 Components and Threads; 8.3 Working with Threads; 8.4 Synchronizing Threads; 8.5 Automatic Synchronization; 8.6 Manual Synchronization; 8.7 The WorkerThread Wrapper Class; 8.8 Synchronizing Delegates; 8.9 Using .NET Multithreading Services; Chapter 9: Serialization and Persistence; 9.1 Automatic Serialization; 9.2 Serialization Formatters; 9.3 Serialization Events; 9.4 Serialization and Streams; 9.5 Custom Serialization; 9.6 Serialization and Class Hierarchies; Chapter 10: Remoting; 10.1 Application Domains; 10.2 Remote Object Types; 10.3 Marshaling-by-Reference Activation Modes; 10.4 The .NET Remoting Architecture; 10.5 Building a Distributed Application; 10.6 Leasing and Sponsorship; 10.7 .NET and Location Transparency; Chapter 11: Context and Interception; 11.1 .NET Component Services; 11.2 The .NET Context; 11.3 Custom Component Services; Chapter 12: Security; 12.1 The .NET Security Architecture; 12.2 Configuring Permissions; 12.3 Programmatic Security; 12.4 Visual Studio 2005 and Security; 12.5 Principal-Based Security; 12.6 Addressing Other Security Issues; Appendix A: Interface-Based Web Services; .NET Web Services Support; Problem Statement; Solution; Appendix B: Unifying Windows Forms and ASP.NET Security; ASP.NET Security Infrastructure; Solution Architecture; The AspNetLoginControl; The UserManager Web Service; The WSLoginControl; The Sample Application; Appendix C: Reflection and Attributes; System.Type; Attributes; Implementing Custom Attributes; Generics and Reflection; Appendix D: Generics; Generics Problem Statement; What Are Generics?; Generics Implementation; Applying Generics; Generic Constraints; Appendix E: C# Coding Standard; Naming Conventions and Styles; Coding Practices; Project Settings and Project Structure; Framework-Specific Guidelines; Colophon;