Examples for several Software Design Principles