← ClaudeAtlas

object-oriented-programmerlisted

Object-oriented design principles, patterns, and practices. Use when working with object-oriented languages (Java, C#, C++, Python, Ruby, Swift, etc.) without language-specific skills available, or when applying OOP in multi-paradigm codebases.
Pyroxin/opinionated-claude-skills · ★ 5 · AI & Automation · score 72
Install: claude install-skill Pyroxin/opinionated-claude-skills
# Object-Oriented Programmer ## Purpose This skill provides guidance on object-oriented programming principles, design patterns, and practices. Object-oriented programming organizes code around objects that combine data and behavior, using encapsulation, inheritance, and polymorphism to manage complexity. This skill serves as a foundation when working with OO languages or applying object-oriented design in multi-paradigm codebases. ## When to Use This Skill Use this skill when: - Working with object-oriented languages (Java, C#, C++, Python, Ruby, Swift) without language-specific skills available - Designing systems with complex state and behavior - Modeling domains with rich entity relationships - Building frameworks or libraries with extension points - Working with existing OOP codebases **Note:** Language-specific skills (e.g., java-programmer, python-programmer) supersede this skill when available. ## Core Philosophy ### Objects as Encapsulated State and Behavior Object-oriented programming bundles data (state) with the operations (behavior) that act on that data. An object presents a clean interface while hiding implementation details. This encapsulation creates boundaries that limit coupling and enable local reasoning. **Quote to remember:** "Bad programmers worry about the code. Good programmers worry about data structures and their relationships." — Linus Torvalds ### Polymorphism Enables Abstraction Polymorphism allows treating different types uniformly th