Advanced ยท 5h 51m ยท 23 lessons
Low Level Design
Structure clean, flexible code with object-oriented design.
What you'll learn
- โฆModel a small problem as classes and objects, each with one clear job
- โฆRead a UML class diagram and tell is-a (inheritance) from has-a (composition)
- โฆApply encapsulation, abstraction, inheritance and polymorphism, and choose composition over deep inheritance
- โฆApply all five SOLID principles to spot rigid code and refactor it
- โฆChoose a fitting creational, structural or behavioural pattern and explain its trade-off
- โฆDesign a small system end to end, like a parking lot, and diagnose its code smells
Part of these career paths
- Software Architecture path ยท course 2 of 3
Certification projects
Build 4 projects to earn your certificate
Hands-on work that proves you can apply what you learned โ part of the certificate requirements.
Syllabus
Module 1 ยท 1h 8m
Thinking in objects Free
What you'll be able to do
- Can explain what low-level design decides and run an LLD answer in the right order
- Can tell a class from an object and predict which data they share
- Can give each class one job and put a new method where its data lives
- Can read and draw is-a, has-a and uses links in a UML class diagram
Module 2 ยท 1h 5m
The four pillars of OOP Locked
What you'll be able to do
- Can guard an object's rules behind methods instead of open fields and setters
- Can replace type checks with polymorphism and decide when inheritance fits
- Can write an interface with abc.ABC and swap implementations without editing callers
- Can count the classes a design needs and choose composition over deep inheritance
Module 3 ยท 1h 14m
SOLID principles Locked
What you'll be able to do
- Can find a class's reasons to change and split it so one request touches one class
- Can add new behaviour as new classes behind an interface instead of editing tested code
- Can check a subclass against its parent's promises and split a fat interface into roles
- Can inject dependencies through an interface and explain what dependency inversion flips
Module 4 ยท 41m
Creational patterns Locked
What you'll be able to do
- Can move scattered object creation into a simple factory, and say when a factory is overkill
- Can write a thread-safe Singleton and tell a real one-per-app need from a trap
- Can assemble a complex object with a Builder whose build() checks the rules
Module 5 ยท 57m
Behavioral & structural patterns Locked
What you'll be able to do
- Can replace an if/elif ladder of algorithms with Strategy classes behind one interface
- Can build a subject that notifies any number of observers, and avoid the lapsed-listener leak
- Can fit a class you can't edit to the interface your code expects with an Adapter
- Can add optional features by stacking Decorators, in the order the business rule needs
Module 6 ยท 46m
Putting it together Locked
What you'll be able to do
- Can work an LLD problem end to end: clarifying questions, nouns and verbs, classes, then one change request
- Can name common code smells, the fix each points to, and when a refactor should wait
- Can pick the simplest design that stays easy to change, and plan the next practice problems