basic tutorials on design patterns usage