Claude Code Plugins

Community-maintained marketplace

Feedback

java-design-principles

@aucun6352/project-cheat-sheet
1
0

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

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name java-design-principles
description A comprehensive guide providing essential design principles and best practices for Java development
license MIT

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

🎓 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! 🚀