Design patterns books have been gaining popularity since languages like Java and C++ first became widely used. Since Microsoft released its first truly object-oriented language, .NET, software designers from an even broader range of business and programming spheres have been looking for ways to refine and write better code. Many have turned toward design patterns, iterative and AGILE design methodologies, and other more defined ways to improve performance, maintainability, portability, and scalability of code as well as design processes. This book fits into that need in that it can teach people who write software new skills and techniques for improving their existing and new coding efforts.
Design patterns have been around for quite a few years. They were originally created by the Gang of Four (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides), which is responsible for formalizing the accepted design patterns we use today. Their use, while questioned and argued over by different programming schools of thought, has generally been accepted as “best practices” within the development community. The original takeoff of design patterns was brought about in the Java and C++ world.
Other languages like .NET (dot NET) have sprung up in recent years to fill certain marketing and technology voids left open by these languages, and have adopted design patterns in one way or another to mimic what was learned by programmers in Java and C++. Even the previously script-oriented syntax of Visual Basic has blossomed into a fully object-oriented language, via Visual Basic.NET. Microsoft also added a Java-like language, which has related syntax and framework structure, in the form of C#, which is so much like Java that applying design patterns is a relatively expected conjecture.