Object-Oriented Programming & Design
Patterns Complete Semester Guide
High-Yield Comprehensive Guide, vtable Memory Layouts, SOLID Refactoring
Traces, GoF Implementations & Quick-Cram Appendix
Computer Science & Software Architecture | Course Code: University Of California - Berkeley
- CS 61B / CS 108 | 2024-2025 Comprehensive Edition
📘 WHAT’S INSIDE THIS GUIDE:
✔ Core OOP Invariants: Encapsulation boundaries, Abstraction, Polymorphism, and why Compo-
sition beats Inheritance
✔ Dynamic Dispatch Mechanics: Virtual Method Tables (vtable), object vptr layout, and indirect
function pointer dispatch
✔ WORKED STEP-BY-STEP PROBLEM: Step-by-step refactoring of an anti-pattern God Class
into SOLID Strategy & Dependency Injection
✔ Creational & Structural Patterns: Thread-safe double-checked locking Singleton, Factory
Method, Adapter, and Decorator
✔ Behavioral Design Suite: Strategy, Observer (Pub/Sub with weak references), Command (Undo/
Redo stack), and State machines
✔ Software Architecture Smells: Fragile Base Class problem, Feature Envy, Primitive Obsession,
and Circular Dependencies
✔ 10 Deadly OOP Exam Traps (Liskov precondition/postcondition strengthening rules, shallow
vs. deep copies, static dispatch)
✔ APPENDIX: 1-Hour Emergency Pre-Exam Quick-Cram Cheat Sheet with master GoF pattern
table and 25 active recall flashcards
, Computer Science & Software Architecture · UniversityObject-Oriented Programming & Design Patterns Complete
Of California - Berkeley - CS 61B / CS 108 Semester Guide
Disclaimer: This is an independently created academic study aid. It is not affiliated with, endorsed by, or sponsored by any specific
university, textbook author, or publisher.
Independent Study Aid. Not affiliated with or endorsed by any specific university or Page 2 of 8
publisher.