定义:一个对象应该尽可能少地了解其他对象,减少对象之间的耦合性

类比:你在公司工作,你只需要知道与你工作相关的人和他们的职责,而不需要知道整个公司所有人的详细信息。这样可以减少不必要的信息交流,提高工作效率

应用场景

  • 需要降低类之间的耦合度
  • 想提高系统的模块化和可维护性

优缺点

  • 优点
    • 降低了系统的复杂度和耦合度
    • 提高了系统的可维护性和模块化
  • 缺点:
    • 可能导致创建更多的包装(wrapper)类,从而增加系统的复杂性
    • 需要仔细设计接口,避免过多的层次化