design ―― patterns