Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    aucun6352

    java-design-principles

    aucun6352/java-design-principles
    Coding
    1

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    A comprehensive guide providing essential design principles and best practices for Java development

    SKILL.md

    Java Design Principles

    A comprehensive guide providing essential design principles and best practices for Java development. Structured for step-by-step learning from beginners to advanced developers.

    When to Use This Skill

    Use this skill in the following situations:

    • 🏗️ When designing new Java projects - Apply correct principles when making architectural decisions
    • 🔧 When refactoring existing code - Check guidelines for code quality improvement
    • 👀 When performing code reviews - Systematically review for design principle violations
    • 🎯 When making class design decisions - Inheritance vs composition, interface segregation, etc.
    • 🧩 When managing dependencies between modules - Methods to reduce coupling and increase cohesion
    • 📚 When training junior developers - Systematically convey core design principles
    • 🐛 When resolving technical debt - Identify which principles have been violated and improve

    📚 Learning Path

    🌱 Beginner - Starting with Simplicity

    An introductory course for those learning design principles for the first time.

    1. Simplicity Principles

      • KISS (Keep It Simple, Stupid)
      • YAGNI (You Aren't Gonna Need It)
      • Do The Simplest Thing That Could Possibly Work

      💡 Why learn this first? Before learning complex principles, developing the habit of writing simple code is most important.

    🚀 Intermediate - Core Design Principles

    Learn the core principles of object-oriented design.

    1. SOLID Principles

      • Single Responsibility Principle
      • Open/Closed Principle
      • Liskov Substitution Principle
      • Interface Segregation Principle
      • Dependency Inversion Principle

      💡 Why is this important? SOLID is an essential principle for writing maintainable and extensible code.

    2. Coupling and Cohesion

      • DRY (Don't Repeat Yourself)
      • Separation of Concerns
      • Minimize Coupling / Maximize Cohesion
      • Law of Demeter
      • Composition Over Inheritance

      💡 Practical Application: Learn how to properly design relationships between modules.

    🎯 Advanced - In-depth Principles and Patterns

    Learn more in-depth design principles and practical patterns.

    1. Encapsulation

      • Encapsulation & Information Hiding
      • Encapsulate What Changes
    2. Advanced Principles

      • Code For The Maintainer
      • Boy-Scout Rule
      • Avoid Premature Optimization
      • Inversion of Control
      • Command Query Separation
      • Robustness Principle (Postel's Law)
    3. Practical Patterns

      • Good vs Bad examples of 5 core patterns
      • Single Responsibility
      • Open/Closed
      • Law of Demeter
      • Composition Over Inheritance
      • DRY

    📖 Additional Resources

    • Best Practices & Common Pitfalls

      • Checklists for design/coding/maintenance
      • 8 common mistakes to avoid
    • Resources

      • Essential books
      • Online resources
      • Practice materials

    🎓 Learning Tips

    Recommended Order for Beginners

    1. Week 1: Read and practice simplicity principles
    2. Week 2-3: Learn SOLID principles one by one (one per day)
    3. Week 4: Understand coupling/cohesion concepts
    4. Week 5: Practice with practical patterns
    5. Week 6+: Code review with Best Practices checklist

    For Those with Experience

    • Learn selectively starting with principles of interest
    • Read Common Pitfalls first and apply to your current code
    • Use this guide as reference documentation during team code reviews

    📂 Project Structure

    java-design-principles/
    ├── SKILL.md (this file)
    ├── core-concepts/
    │   ├── simplicity-principles.md
    │   ├── solid-principles.md
    │   ├── coupling-cohesion.md
    │   ├── encapsulation.md
    │   └── advanced-principles.md
    ├── patterns/
    │   └── common-patterns.md
    ├── best-practices.md
    └── resources.md
    

    🤝 Contributing

    If you want to contribute to this guide:

    • Open an issue if you find typos or improvements
    • Send a Pull Request if you have better examples
    • Share practical use cases

    License: MIT Last Updated: November 2025

    Happy Coding! 🚀

    Recommended Servers
    tldraw
    tldraw
    MantleKit Launch Planner
    MantleKit Launch Planner
    AurelianFlo
    AurelianFlo
    Repository
    aucun6352/project-cheat-sheet
    Files