design pattern alle aufgecshrieben