美文网首页
重构读书笔记-11_9-Collapse_Hierarchy

重构读书笔记-11_9-Collapse_Hierarchy

作者: MR_Model | 来源:发表于2019-08-06 09:14 被阅读0次

    重构第十一章

    9.Collapse Hierarchy(折叠继承体系)

    superclass和subclass的区别不大,将他们合为一体。

    Example:

    class Employee...
        public string getName(){
        return _name;
     }
    ...
    private string _name;
        
    class Salesman extends Employee...
        public int getRate() {
            return _rate;
        }
        private int _rate;
    

    Analyse:

    Employee class 和Salesman class之间只有一个函数有区别,其他的地方没有任何的不同,这个时候的继承可能会显得冗余。

    End:

    class Employee...
        public string getName(){
            return _name;
        }
        public int getRate() {
            return _rate;
        }
        private int _rate;
        private string _name;
    

    Conclusion:

    继承体系变得过分的复杂,重构继承体系后,往往是将函数和值域在superclass和subclass中上下移动。之后可能发现某个subclass并未带来该来的价值,一次需要将两者合并起来。

    注意

    重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!

    相关文章

      网友评论

          本文标题:重构读书笔记-11_9-Collapse_Hierarchy

          本文链接:https://www.haomeiwen.com/subject/dqgbdctx.html