Design patterns — Gordon Brander