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

No pattern implementation

Kitty is on a roll! You know how it gets. She knocked out the enumerations, base class, and subclasses in nary an hour. She’s seriously cruising along and she doesn’t want to lose velocity. Kitty gives in to the temptation to write this code for the final implementation of the main entry point for the program:

using BumbleBikesLibrary; 
const string errorText = "You must pass in mountainbike, cruiser, recumbent, or roadbike"; 

We take in an argument from the command-line program and use that to determine what to make. If a string was passed in, the length of args will be greater than zero and we can do our thing. Otherwise, we can admonish our foolish users for thinking our software can read their minds:

if(args.Length > 0) 
{ 

It’s a good idea to trim and normalize your command-line input. This means we ignore extra spaces in front of and after the argument. We ignore the case by forcing everything to either...