We’ve all come across design patterns, right? Common solutions to common problems — more specific than a language or a platform, less prescriptive than a component or a framework.