the note of design patterns