Book Image

Real-World Implementation of C# Design Patterns

By : Bruce M. Van Horn II
5 (3)
Book Image

Real-World Implementation of C# Design Patterns

5 (3)
By: Bruce M. Van Horn II

Overview of this book

As a software developer, you need to learn new languages and simultaneously get familiarized with the programming paradigms and methods of leveraging patterns, as both a communications tool and an advantage when designing well-written, easy-to-maintain code. Design patterns, being a collection of best practices, provide the necessary wisdom to help you overcome common sets of challenges in object-oriented design and programming. This practical guide to design patterns helps C# developers put their programming knowledge to work. The book takes a hands-on approach to introducing patterns and anti-patterns, elaborating on 14 patterns along with their real-world implementations. Throughout the book, you'll understand the implementation of each pattern, as well as find out how to successfully implement those patterns in C# code within the context of a real-world project. By the end of this design patterns book, you’ll be able to recognize situations that tempt you to reinvent the wheel, and quickly avoid the time and cost associated with solving common and well-understood problems with battle-tested design patterns.
Table of Contents (16 chapters)
1
Part 1: Introduction to Patterns (Pasta) and Antipatterns (Antipasta)
4
Part 2: Patterns You Need in the Real World
8
Part 3: Designing New Projects Using Patterns

Measuring quality beyond the development organization

We’ve spent a lot of time in this chapter talking about quality code from the perspective of software engineering. Software is never developed in a bubble. It is always developed in concert with business professionals working to solve business problems. That means a great many people on your project might not be developers or engineers. All of our discussions so far have revolved around specific engineering practices. However, you need to realize that these views won’t be shared by your business-oriented colleagues.

For them, quality is often defined as conformance to requirements. That means quality code is code that meets its requirements. I would argue that this is a far too basic definition. The corporate quality movements of the 80s and 90s, such as the lean manufacturing and zero defects ideals espoused by Deming, have been coopted into our field by well-meaning managers. They want to focus 100 percent on...