WeAreDevelopers LIVE β€’ Sep 21, 2022

OOP revisited

Dominik Przybysz

Stop treating classes as mere data structures. Rediscover core OOP principles to escape fragile framework conventions and build truly decoupled, maintainable software.

Pause
Mute Enter Fullscreen
#1 about 4 min

Core definitions and principles of object-oriented programming

Modeling programs as communicating objects relies on foundational structural design principles.

#2 about 9 min

Encapsulation strategies for avoiding anemic domain models

Replacing default getters and setters with domain-specific operations secures internal state.

#3 about 8 min

Abstraction and delegating logic through information experts

Hiding implementation details and assigning logic to data-holding objects reduces system complexity.

#4 about 5 min

Managing single responsibilities with cohesion and coupling metrics

Measuring lack of cohesion helps split classes while visual exercises aid in minimizing module coupling.

#5 about 7 min

Dependency inversion for clean architectural boundaries and abstractions

Relying on stable interfaces rather than concrete classes prevents leaky abstractions in domain logic.

#6 about 11 min

Inheritance constraints and prioritizing composition over inheritance

Respecting substitution contracts and open-closed principles prevents rigid class hierarchies and unintended coupling.

#7 about 4 min

Leveraging polymorphism for robust application programming interfaces

Using method overriding and overloading enables flexible and gracefully evolving software contracts.

#8 about 6 min

Key takeaways and developer reflections on language choices

Deliberate software design choices matter more than blindly applying convenient language features.

Matching moments

4:53 min

Spotting common object-oriented programming abusers in applications

Benjamin Bischoff Benjamin Bischoff Β· World Congress 2024

6:34 min

Defining the core principles of clean code

Gil Zilberfeld Β· LIVE

4:54 min

Learning Java features and design patterns interactively

Jakov Semenski Β· LIVE

2:43 min

Re-evaluating core programming principles in web architecture

Frederik Pietzko Frederik Pietzko Β· World Congress 2025

1:51 min

The rise of object-oriented programming in the eighties

Francesco Ciulla Francesco Ciulla Β· World Congress 2023

6:06 min

Mastering foundational programming knowledge before skipping to abstractions

Chris Heilmann Chris Heilmann +2 Β· LIVE