Welcome to the era of software reuse! Microsoft Enterprise Library helps accelerate development by providing reusable components and guidance on proven practices. If you build applications that run on the Microsoft .NET Framework, whether they are enterprise-level business applications or even relatively modest Windows® Forms, Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), or ASP.NET applications, you can benefit from using Enterprise Library. This guide helps you to quickly grasp what Enterprise Library can do for you, presents examples, and makes it easier for you to start experimenting with Enterprise Library. Enterprise Library is made up of a series of application blocks, each aimed at managing specific cross-cutting concerns.
The guide will walk you through the most common usage scenarios for each of the functional application blocks, including:
Improving performance by utilizing a local in-memory or isolated storage cache.
Calling into your database stored procedures and managing the results exposed as a sequence of objects for client side querying.
Incorporating cryptography mechanisms to protect your data.
Designing and implementing a consistent strategy for managing exceptions that occur in various architectural layers of your application.
Implementing system logging through the wide variety of out-of-the box logging sinks or your custom provider.
Performing structured and easy-to-maintain validation using attributes and rules sets.
The guide also demonstrates various ways of configuring Enterprise Library blocks. Let Enterprise Library do the heavy lifting for you and spend more time focusing on your business logic and less on application plumbing.
“You are holding in your hands a book that will make your life as an enterprise developer a whole lot easier.” Scott Guthrie Corporate Vice-President, Microsoft .NET Developer Platform
Developer's Guide to Microsoft Enterprise Library, C# Edition
Nicolas Botto is a software engineer and development consultant based in Argentina. He has more than 10 years of experience in helping enterprise customers building scalable component frameworks and based on the .NET Framework since 2001. He currently spends much of his time working for Microsoft Corp helping the patterns & practices group in building useful stuff like tools, guidelines and application blocks for the worldwide community of developers.
Bob Brumfield is a software developer at Microsoft with the patterns & practices team, primarily working on Prism, Enterprise Library and Web guidance projects. Prior to joining Microsoft, he focused on helping teams deliver Microsoft-based solutions as a consultant in the Colorado Rocky Mountain region. Bob has more than 15 years experience with professional software development and architecture.
Grigori Melnik is a Senior Program Manager in the patterns & practices group at Microsoft. He leads Microsoft Enterprise Library and Acceptance Testing Guidance projects. Prior to that, Grigori was a researcher, software engineer, and educator long enough to remember the joy of programming in Fortran. His areas of expertise include agile methods, empirical software engineering, and software testing. Grigori is a regular contributor to software conferences around the world. He is a member of the IEEE Software Advisory board. Grigori holds a Ph.D. in Computer Science from the University of Calgary, Canada.
Erik Renaud is an agile coach and co-founder of nVentive, a new concept where software development teams leverage coaching and guidance packages to build better software. His current mandates concentrate on large financial institutions creating new teams that directly support their primary activities. Erik has over 10 years of experience developing software, coaching teams to architect, model and analyze software solutions. He ultimately helps them develop the solution using cutting edge .net technologies and offers guidance packages that accelerate the development phase. He is a certified ScrumMaster, which helps him lead teams to success, and often offers training in object oriented technologies.
Fernando Simonazzi is a software developer and architect with over 12 years of professional experience. He has been a contributor in several projects for Microsoft's patterns & practices group, including Prism v4 and several versions of the Enterprise Library.
Chris Tavares is a development lead on the patterns & practices team, producing written and code-based guidance for .NET developers. For the last three years he's been the dev lead on the Enterprise Library project. As part of that role, Chris is the primary author of the Unity dependency injection container. Prior to joining Microsoft, Chris was a trainer, consultant and contractor, worked on shrink-wrap software in several industries, and even did a short stint with embedded systems for the Navy.
Comments about Microsoft Press Developer's Guide to Microsoft Enterprise Library, C# Edition:
Firstly, I love Enterprise Library 5 (EL5)! It's a suite of brilliant component libraries that aid your development, especially in regards to implementing cross-cutting concerns. The problem is that EL5 is complex.
It's rather easy to learn, but there are a lot of new namespaces, interfaces, objects to know of and understand how to extend them for your application. Extensibility-points are everywhere and learning how to implement them is time-staking without a proper guide.
This book is a 240 page joke. If the authors attempt was to teach EL5 to newcomers, than OK - you have written a book which covers nothing in detail and too much in general explanation overview.
My favorite part must have been the chapter on Unity Interception / Policy Injection ... oh wait, there wasn't a chapter on this. It was a single page with links to codeplex telling you to go there to understand how to use these features.
Chapter 8 is also a nightmare. 15 cheaply written pages about the Security Application Block and token-based authorization. These pages pretty much assume you are writing your application for intranet Active Directory scenarios. Things it doesn't cover: Custom Authorization Providers, integration with Windows Identity Foundation, IPrinciple, IToken, IIdentity in-depth definitions. This chapter alone should be 200 pages!
Anyone thinking of purchasing this book, do NOT! It is not even a good primer on each application block and its purpose. Your best bet to learning EL5 is through the freely available chm (via codeplex) and community blogs which are few.
Bottom Line No, I would not recommend this to a friend