Updated with 21 Design Patterns with example and ClassDiagram