Understand Object-Oriented design and know when to apply them, Understand and apply principles for good Object-Oriented design, Understand evolutionary design.
Day 01:
Practical OOP
Day 02:
OOP Design Principles: SOLID
○ What & Why
○ SRP
○ OCP
○ LSP
○ ISP
○ DIP
○ What & Why
○ Long Method
○ Large Class
○ Primitive Obsession
○ Long Parameter List
○ Data Clumps
Day 03:
Code Smells & Refactoring
○ Switch Statements
○ Temporary Field
○ Refused Bequest
○ Alternative Classes with Different Interfaces
○ Divergent Change
○ Shotgun Surgery
○ Parallel Inheritance Hierarchies
○ Comments
○ Duplicate Code
○ Lazy Class
○ Data Class
○ Dead Code
○ Speculative Generality
○ Feature Envy
○ Inappropriate Intimacy
○ Message Chains
○ Middle Man
○ Incomplete Library Class
Prerequisite:
Participants must understand basic programming techniques and be able to read simple code (Java, C#, PHP, JavaScript or Python)
Module | Workshop on Object-Oriented Design | 24 Hrs |