[Martin98] Pattern Languages of Program Design 3.