Many of the systems written over the years are still in place and working, but are in desperate need of updated technology and approaches in order to compete with software being developed today. Reengineering .NET addresses the problem of aging software. In it, leading .NET architect Bradley Irby introduces best practices for revitalizing older Microsoft .NET code. Irby shows how to integrate new tools and development advances into existing systems that can't go offline. Using a step-by-step approach, .NET professionals can make their legacy software more reliable, maintainable, attractive, and usable - for years to come. Through real-world case studies and extensive downloadable sample code, Irby shows how to: * Compare each leading architectural option for reengineering older .NET software, and choose the right alternatives * Introduce unit testing into applications that weren't built for it * Systematically modernize aging code bases while keeping applications fully available * Master specific design patterns for reengineering .NET code * Organize the reengineering project so appropriate expertise is applied to each task This book assumes moderate familiarity with .NET, but no specific expertise with reengineering, testing, or .NET architecture: all key concepts are explained simply, with practical examples drawn from the author's 20+ years of enterprise consulting experience.
Some real insights on techniques to choose that disturb a legacy code base less or that can be introduced incrementally, in particular the advantages of service locator over constructor dependency injection. A sound grasp of the practicalities, this is not some academic's purist book. Marked down to 4 stars because there's quite a bit of beginner padding in it and even some of those tedious how to get started pages with graphics.