Skip to content
#

object-oriented-design

Object-oriented programming (OOP) is a programming paradigm based on the concept of objects fundamental to many programming languages, including Java and C++. OOP can be devided in two sub types: class-based (or “classical”) and prototype-based OOP (found in JavaScript, for example).

Object-oriented programming has several advantages over procedural programming:

  • OOP provides a clear structure for the programs
  • OOP helps to keep the code DRY “Don’t Repeat Yourself”, and makes the code easier to maintain, modify and debug
  • Logic can be abstracted, encapsulated, composed, inherited and decoupled
  • Here are 27 public repositories matching this topic...

    A Claude Skill for choosing, applying and critiquing software design patterns — and refusing the ones nobody asked for. 115 pattern entries, 21 anti-patterns, a 10-dimension design rubric, 30 LLD problems. MIT.

    • Updated Aug 24, 2026
    • Python