design pattern note