The origin of software patterns
A pattern is another concept I borrowed from “real” architecture of the house building variety. The term was invented by Cristopher Alexander in his book A Pattern Language and was adopted by software architecture more than 20 years later by the “Gang of Four,” the authors of the book Software Patterns: Elements of Reusable Software – Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. The ominously named Gang of Four (GoF) was a team of two Siemens and two IBM engineers who discovered that most object-oriented computer systems tend to be composed by some “reusable solutions” that are specific to a context and can be reused, substantially independent from the programming language. Read the GoF book and keep it for reference.
Using software design patterns appropriately is normally considered a “best practice” when designing an object-oriented software system. Beware that a lot...