1
lhx2008 2020-03-01 22:36:30 +08:00 via Android
getter 是符合贫血模型的,简单的程序保留无妨。如果是真正的面向对象或者是说充血模型,那么无脑 getter 是破坏了面向对象的封装特性,不推荐。我不用 lombok
|
2
chendy 2020-03-01 22:51:27 +08:00
具体情况具体分析
Spring 的 bean,目前除非特殊需求否则只留构造方法 数据类的就一个`@Data`搞定,如果不方便直接加就自己写 |
4
passerbytiny 2020-03-02 10:03:54 +08:00
逐条回复:
1、getter setter 不是规范,是封装——面向对象编程基本元素——的要求;各大框架从来也没用 getter setter 来构造 bean,而是用它们来做序列化 /反序列化。 2、Spring 从来都没在意过 getter setter,setter 只是其推荐的其中一种注入方式;以及,直接在字段上注入的方式,并不是 Spring 推荐的注入方式。 3、请参见第一条,getter setter 是用来做封装的,不是用来写业务逻辑的,因此它必定绝大多数情况下都保持默认即可;大多数人不用,不代表没有人不会用。 因为是面向对象编程基本元素的要求,所以虽然已经众人烦了,但是没人敢让它消失。现在只能,先用 lombok 临时顶着。Lombok、C#“属性”都很好用,但是从来没有被 JCP 接纳过,以后被接纳的可能性也不太大(大概这种编译擦除的方式,争议性太大)。 |
5
liliumss 2020-03-06 23:13:19 +08:00
@passerbytiny 意思是 getter setter 就是 oop 的基础之一,去掉就失去 oop 的意义了
|