How many design patterns do you really need to know?