An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context. When using this tag on implementation heavy questions - tag the code language the implementation is written in.