<aside>
💡
- OOP (Object-Oriented Programming)
Get hands-on with:
- Classes and Objects
- Encapsulation, Abstraction
- Inheritance vs Composition
- Polymorphism
- Access Modifiers
- Virtual functions (C++)
- Interfaces (Java, C#)
Build 2–3 OOP mini projects (ATM system, library system, file manager)
<aside>
💡
2. OOD (Object-Oriented Design)
Concepts to master:
- Responsibility-driven design
- Cohesion & Coupling
- Interface vs Implementation
- Information hiding
- Class diagrams (UML)
- CRC Cards (Class-Responsibility-Collaboration)
- Model a real-world system in UML and build it
- Resources
</aside>
<aside>
💡
3. SOLID Principles
- S: Single Responsibility
- O: Open/Closed
- L: Liskov Substitution
- I: Interface Segregation
- D: Dependency Inversion
- Apply SOLID in a mid-sized codebase (e.g., inventory or shopping cart)
- Resources
</aside>
<aside>
💡
4. Design Patterns
- Creational: Singleton, Factory, Abstract Factory
- Structural: Adapter, Decorator, Composite, Proxy
- Behavioral: Observer, Strategy, Command, State
- Implement and refactor code using patterns (CodeSmells → Patterns)
- Resources
</aside>
<aside>
💡
5. Clean Code
Clean Code : https://www.youtube.com/playlist?list=PLwWuxCLlF_ufTMlXoJlQvImqz9wIfcWsX
</aside>
Project:
https://github.com/yakout/circus-of-plates
4_5825582920332478941.pdf