Examples on design patterns