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

Upcoming sessions on this topic

Open session

Designing for Every Direction: Logical CSS for Global, Adaptive, and Effortlessly Reversible UIs

  • Vidhya Krishnamoorthy

    Morgan Stanley

    VP, Software Engineering Manager

Open session

Teaching AI Coding Agents to Build It Right the First Time

  • Sajeetharan Sinnathurai

    Microsoft

    Principal Product Manager

Open session

What I Got Wrong Shipping an MCP Server for Live Infrastructure

  • Pritesh Kiri

    Harness

    Developer Relations Engineer

Open session

Beware of Strangers Bearing Code: Open Source Trust in the Agent Era

  • Vikram Vaswani

    Consultant

Open session

Beyond File Dumps: Context Engineering for Coding Agents

  • Animesh Dutta

    Arm

    Senior Software Engineer

Open session

How We Cut Our API's p99 Latency from Minutes to Under a Second

  • Deepak Agrawal

    Atlassian

    Principal Software Engineer