Practice with different design patterns