我们通过提取子类来下放职责。,当我们意识到不再需要某个子类时,可以使用Collapse Hierarchy重构。如果某个子类的属性(以及其他成员)可以被合并到基类中,这时再保留这个子类已经没有任何意义了。

public class Website {
public String title;

public String description;

public IEnumerable<Webpage> pages;
}

public class StudentWebsite extends Website{
public Boolean isActive;
}
这里的子类并没有过多的功能,只是表示站点是否激活。这时我们会意识到判断站点是否激活的功能应该
是通用的。因此可以将子类的功能放回到Website中,并删除StudentWebsite类型。
public class Website {
public String title;

public String description;

public IEnumerable<Webpage> pages;

public Boolean isActive;
}





posted on 2016-08-19 09:33  jgig11  阅读(470)  评论(0编辑  收藏  举报