Review over the main design patterns