DZone>Java专区>Java的封装--当Getter和Setter成为你的敌人时
Java的封装 - 当Getter和Setter成为你的敌人时
我们知道应该尽可能地减少字段的可见性,但如果我们把getter和setter放到所有方法都是public的时候,你的数据就会被破坏,这是一种浪费。
通过
CORE -
6月29日,22日 - Java区 -演讲
喜欢 (1)
评论
保存
鸣叫
221次浏览
加入DZone社区,获得完整的会员体验。
封装是一个好的代码设计的关键,但如何存档呢?Java开发者会自动想到把getter和setter放在一个私有属性中。
封装是将数据包裹在一个单一的单元下。它是用OOP保护数据并避免任何安全问题的方法。围绕着封装的主要思想是数据的监护人或屏蔽,当它有意义时,就不会被这个屏蔽之外的代码访问。
在干净的代码中,我们有鲍勃叔叔,当他谈到结构代码与OOP的显著区别是OOP你隐藏数据以暴露行为。
使用一个好的封装,我们有几个优势。
- 数据隐藏
- 增加灵活性
- 可重用性
- 测试代码很容易
我们知道封装是必不可少的,从这些点和更多的方面来看,我们在这篇文章中没有提到。这个话题的挑战在于如何应用它。
我们通常认为getter和setter是归档的主要方式;然而,有时候,这些方法会影响到模型,做与公共字段相同的结果,所以要取消实体的封装。
尽管如此,这也是通往POJO或贫血模型的相同路径,使我们远离了好的代码。
我们知道,我们应该尽可能地减少字段的可见性,其中优先级较高的是私有字段,但如果我们把getter和setter放到所有方法都是公有的时候,如果你有数据泄露,这将是一种浪费。
今天加入我们,了解为什么盲目地应用getter和setter是最糟糕的封装解决方案,以及你应该使用什么来代替。
封装(网络)
DZone贡献者所表达的观点是他们自己的。
DZone上的热门话题
评论