重构研究:Replace Type Code with Subclasses(以子类取代类型码),
摘要:动机:如果你的类中有一个不可变的类型码,它会影响类的行为如果类中有一个标志,看起来像是switch这样,或者if-else if-else if这种结构,并且以后可能还要增加其他类型的标志,就可以使用这种重构方法做法:1.先使用Self Encapsulate Field(自封装字段)将类型码自我封装起来,如果类型码有在构造函数里赋值,就需要将构造函数改为工厂函数来创建对象2.为类中的每一个标志建立一个子类,在每个子类中覆写类型码的get函数,返回相应的类型码3.从超类中删掉保存标志的字段,将超类的get函数声明为抽象函数示例: 1 public class Employee { 2 3 ..
阅读全文
posted @ 2012-08-01 14:23
浙公网安备 33010602011771号