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