Pattern language is like a recipe book for buildings. It is a set of related instructions that can be used to make a building, from a huge cathedral to a small backyard hut. Each pattern describes a design problem that people run into when they are building and suggests a way to solve it. You can mix and match the different patterns to design the building that fits your needs.