重新组织数据

原则:数据清晰,含义明确
1)自封装字段
要点:get set 取数据
2)以对象取代数据值
要点:你有一个数据项,需要与其他数据和行为一起使用才有意义
3)将值对象改为引用对象 (单例)
要点:你从一个类衍生许多彼此相等的实例,希望将他们替换成同一个对象
4)以对象取代数据
要点:你有一个数组,其中各个元素各自代表不同的东西
5)复制“被监视数据”
要点:观察者同步数据 为了做分层 mvc模式
6)将单项关联改为双向关联(反向指针)
要点:两个类都需要使用对方特性,但其间有一个单项链接
7)将双向关联变为单项
要点:去掉不必要关联
8)以字面常亮取代魔法数(常量)
要点:你有一个字面数值,带有特别含义
9)封装字段
要点:你的类存在一个public字段
10)封装集合
要点:有个函数返回集合(set,map)
方案:增加操作集合的函数,不直接处理
11)以类取代类型码
要点:方便数据类型校验
12)以子类取代类型码
要点:子类集成 重写增加灵活性
13)以State/Strategy取代类型码
要点:你有一个类型码,它会影响类的行为,但你无法通过继承手法消除它
方案:策略模式,状态模式,以状态对象取代类型码
14)以字段取代子类
要点:你的各个子类的唯一差别只在“返回常量数据”的函数身上
方案:修改这些函数,使它们返回超类中的某个(新增)字段,然后销毁子类

你可能感兴趣的:(重新组织数据)