some design patterns basic projects