Course Code: 21CSC309J
Course Name: SOFTWARE ARCHITECTURE AND DESIGN
- Overview of design patterns catalogue
- Study of Creational, Structural, and Behavioral patterns
- Use case diagram for lab scenarios
Implementation of Factory Method pattern for object creation without exposing instantiation logic.
Implementation of Abstract Factory pattern for creating families of related objects.
Implementation of Singleton pattern ensuring a class has only one instance.
Implementation of Composite pattern for treating individual objects and compositions uniformly.
Implementation of Decorator pattern to add functionality to objects dynamically.
Implementation of Proxy pattern to control access to objects.
Implementation of Iterator pattern for sequential access to collection elements.
Implementation of Mediator pattern to reduce coupling between objects.
Implementation of Visitor pattern to add operations without modifying classes.
- Python
- Object-Oriented Programming
- Design Patterns
Each lab is implemented as a standalone Python program demonstrating the respective design pattern.
- Understanding of different design pattern categories
- Hands-on implementation of 10 essential design patterns
- Ability to apply design patterns to solve real-world problems
- Improved software design and architecture skills