An algebra of design patterns · Study