More design patterns notes