Design Patterns: The Adapter Pattern

Adapting Dependencies to an Interface The Adapter Pattern is one of the fundamental building blocks of software engineering. It allows two pieces of software to interact by adapting each of their public interfaces to the other's. Used properly, this serves to keeps those two pieces of code independent and decoupled, which in turn promotes high … Continue reading Design Patterns: The Adapter Pattern

Software Design Philosophy Overview

Software Design Methodologies, Principles, Patterns, and Anti-Patterns This is an introductory post to a series on software design philosophy. Software design is tricky. There are a lot of moving parts to it, far beyond the basic concepts just writing code. During a recent conversation with some software engineer friends of mine, several of the higher-level … Continue reading Software Design Philosophy Overview