Design pattern study notes