POJO类
- 含义:
只有一些字段和set/get方法,单纯用作数据存储的类。也就是POJO类。 - 特点:
这些POJO类应尽量保持纯净,解耦。 - 目标:
消除类中容易耦合的部分,使类中的字段访问根据需求决定。 - 实现方法:
- 如果包含public字段,使用 **Encapsulate Field(封装字段)**来私有化
- 如果某些字段应该不能被修改,使用 Remove Setting Method(移除set方法)
- 如果类里有Collection集合类型的字段,使用 Encapsulate Collection(封装集合类)
本文涉及的重构方法
Encapsulate Field(封装字段)
- 作用:
消除类中可以公有访问的字段 - 重构思路:
改为私有,并提供get/set方法
Remove Setting Method(移除set方法)
- 作用:
消除POJO类中不应该被更改的set方法。 - 重构思路:
如果POJO类中某些字段不应该可以被更改,删除它的对应set方法。
Encapsulate Collection(封装集合类)
- 作用:
给POJO类中的集合字段添加单个元素的添加,移除方法 - 重构思路:
比如,除了SetMembers(List list)外,添加addMember(Member member);方法为这个List内add新的Member。方便实际操作。