121-java-object-oriented-design

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Java Object-Oriented Design Guidelines

Java面向对象设计指南

Review and improve Java code using comprehensive object-oriented design guidelines and refactoring practices.
What is covered in this Skill?
  • Fundamental design principles (SOLID, DRY, YAGNI)
  • Class and interface design: composition over inheritance, immutability, accessibility minimization, accessor methods
  • Core OOP concepts: encapsulation, inheritance, polymorphism
  • Object creation patterns: static factory methods, Builder, Singleton, dependency injection, avoiding unnecessary objects
  • OOD code smells: God Class, Feature Envy, Inappropriate Intimacy, Refused Bequest, Shotgun Surgery, Data Clumps
  • Method design: parameter validation, defensive copies, careful signatures, empty collections over nulls, Optional usage
  • Exception handling: checked vs. runtime exceptions, standard exceptions, failure-capture messages, no silent ignoring
Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.
使用全面的面向对象设计指南和重构实践来审查和改进Java代码。
本技能涵盖哪些内容?
  • 基础设计原则(SOLID、DRY、YAGNI)
  • 类与接口设计:组合优于继承、不可变性、最小化可访问性、访问器方法
  • 核心OOP概念:封装、继承、多态
  • 对象创建模式:静态工厂方法、Builder、单例、依赖注入、避免不必要的对象
  • OOD代码异味:上帝类(God Class)、特性依恋(Feature Envy)、不当亲密(Inappropriate Intimacy)、被拒绝的遗赠(Refused Bequest)、霰弹式修改(Shotgun Surgery)、数据泥团(Data Clumps)
  • 方法设计:参数验证、防御性拷贝、严谨的方法签名、返回空集合而非null、Optional的使用
  • 异常处理:受检异常vs运行时异常、标准异常、捕获失败信息、不静默忽略异常
范围:参考资料按每个核心领域的示例(好/坏代码模式)组织。请根据适用的示例应用建议。

Constraints

约束条件

Before applying any OOD changes, ensure the project compiles. If compilation fails, stop immediately — do not proceed until resolved. After applying improvements, run full verification.
  • MANDATORY: Run
    ./mvnw compile
    or
    mvn compile
    before applying any change
  • SAFETY: If compilation fails, stop immediately and do not proceed — compilation failure is a blocking condition
  • VERIFY: Run
    ./mvnw clean verify
    or
    mvn clean verify
    after applying improvements
  • BEFORE APPLYING: Read the reference for detailed examples, good/bad patterns, and constraints
在应用任何OOD变更前,确保项目可编译。如果编译失败,请立即停止——问题解决前不要继续。应用改进后,运行完整验证。
  • 强制要求:在应用任何变更前运行
    ./mvnw compile
    mvn compile
  • 安全要求:如果编译失败,立即停止且不要继续——编译失败是阻塞性条件
  • 验证:应用改进后运行
    ./mvnw clean verify
    mvn clean verify
  • 应用前:阅读参考资料以获取详细示例、好/坏模式及约束条件

When to use this skill

何时使用本技能

  • Review Java code for object-oriented design
  • Refactor Java code for object-oriented design
  • Improve Java code for object-oriented design
  • Fix OOP concept misuse in Java code
  • Identify and resolve code smells in Java code
  • Improve object creation patterns in Java code
  • Improve method design in Java code
  • Improve exception handling in Java code
  • 审查Java代码的面向对象设计
  • 重构Java代码以优化面向对象设计
  • 改进Java代码的面向对象设计质量
  • 修复Java代码中的OOP概念误用问题
  • 识别并解决Java代码中的代码异味
  • 改进Java代码中的对象创建模式
  • 改进Java代码中的方法设计
  • 改进Java代码中的异常处理

Reference

参考资料

For detailed guidance, examples, and constraints, see references/121-java-object-oriented-design.md.
如需详细指导、示例和约束条件,请查看references/121-java-object-oriented-design.md