Java的封装 - 当Getter和Setter成为你的敌人时

86 阅读2分钟

DZone>Java专区>Java的封装--当Getter和Setter成为你的敌人时

Java的封装 - 当Getter和Setter成为你的敌人时

我们知道应该尽可能地减少字段的可见性,但如果我们把getter和setter放到所有方法都是public的时候,你的数据就会被破坏,这是一种浪费。

Otavio Santana user avatar 通过

Otavio Santana

CORE -

6月29日,22日 - Java区 -演讲

喜欢 (1)

评论

保存

鸣叫

221次浏览

加入DZone社区,获得完整的会员体验。

免费加入

封装是一个好的代码设计的关键,但如何存档呢?Java开发者会自动想到把getter和setter放在一个私有属性中。

封装是将数据包裹在一个单一的单元下。它是用OOP保护数据并避免任何安全问题的方法。围绕着封装的主要思想是数据的监护人或屏蔽,当它有意义时,就不会被这个屏蔽之外的代码访问。

在干净的代码中,我们有鲍勃叔叔,当他谈到结构代码与OOP的显著区别是OOP你隐藏数据以暴露行为。

使用一个好的封装,我们有几个优势。

  • 数据隐藏
  • 增加灵活性
  • 可重用性
  • 测试代码很容易

我们知道封装是必不可少的,从这些点和更多的方面来看,我们在这篇文章中没有提到。这个话题的挑战在于如何应用它。

我们通常认为getter和setter是归档的主要方式;然而,有时候,这些方法会影响到模型,做与公共字段相同的结果,所以要取消实体的封装。

尽管如此,这也是通往POJO或贫血模型的相同路径,使我们远离了好的代码。

我们知道,我们应该尽可能地减少字段的可见性,其中优先级较高的是私有字段,但如果我们把getter和setter放到所有方法都是公有的时候,如果你有数据泄露,这将是一种浪费。

今天加入我们,了解为什么盲目地应用getter和setter是最糟糕的封装解决方案,以及你应该使用什么来代替。

封装(网络)

DZone贡献者所表达的观点是他们自己的。

DZone上的热门话题


评论

Java 合作伙伴资源