This course is designed to provide students with a thorough introduction to, and understanding of, the most critical design patterns. From basic design principles the course builds a solid foundation for patterns for software design in diverse areas including application development, concurrency and software architecture. A special anti-patterns section describes patterns that we should not emulate.
Experience in software design or architecture is desirable, but not mandatory. At least 6 months of programming experience in Java, C# or C++ is highly desirable.
4 Days/Lecture & Lab
This course is designed for software developers, designers and architects who wish to learn advanced design techniques.
- Design Pattern Overview
- Critical Principles of Object-Oriented Design
- Martins Principles of Package Architecture
- Basic Object-Oriented Design Patterns
- The 23 Gang of Four Patterns
- Micro-Architecture and System Patterns
- Concurrency Patterns
- Pattern-Oriented Software Architecture
- Process Patterns
- Anti-Patterns (Learning from bad examples)