Patterns, Domain-Driven Design (DDD), and Test-Driven Development (TDD) enable architects and developers to create systems that are powerful, robust, and maintainable. Now, there’s a comprehensive, practical guide to leveraging all these techniques primarily in Microsoft .NET environments, but the discussions are just as useful for Java developers.
Drawing on seminal work by Martin Fowler (Patterns of Enterprise Application Architecture) and Eric Evans (Domain-Driven Design), Jimmy Nilsson shows how to create real-world architectures for any .NET application. Nilsson illuminates each principle with clear, well-annotated code examples based on C# 1.1 and 2.0. His examples and discussions will be valuable both to C# developers and those working with other .NET languages and any databases–even with other platforms, such as J2EE. Coverage includes
· Quick primers on patterns, TDD, and refactoring
· Using architectural techniques to improve software quality
· Using domain models to support business rules and validation
· Applying enterprise patterns to provide persistence support via NHibernate
· Planning effectively for the presentation layer and UI testing
· Designing for Dependency Injection, Aspect Orientation, and other new paradigms