嵌套对象最佳实践

blong824:

引用嵌套对象的最佳实践是什么?

说我有以下几点:

class Outer {
 private InnerA innerA;
 //getters and setters
}

class InnerA {
  private InnerB innerB;
  //getters and setters
}

class InnerB {
  private String someString;
  //getters and setters
}

在我的控制器或服务类中,我需要检查InnerB类的someString String变量以确保它不为null或不为空,所以我这样做:

if (getOuter().getInnerA().getInnerB().getSomeString() != null && !getOuter().getInnerA().getInnerB().getSomeString().equalsIgnoreCase("") {
  //do something
}

对我来说,这看起来很杂乱,如果嵌套对象本身为null,则可能会出现问题。

我是否要在父对象中为子对象创建getter和setter,以检查是否为null?只是想知道最佳实践是什么和/或你们中的一些人在代码中做了什么?

JB Nizet:

如果这些对象中的任何一个可以为null,那么您当然必须在对该对象调用getter之前检查null。

但是这种链接是一种缺乏封装的不良气味(贫血的对象只有数据,没有行为)。您违反了得墨 the 耳(Demeter)法则:请勿与陌生人交谈。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章