zoukankan      html  css  js  c++  java
  • 重构第4天:降低方法(Push Down Method)

    理解:降低方法,就是把基类中的某个方法,提出来放到继承类当中去。

    详解: 上一节我们讲了方法的提公,是把多于一个继承类都要用到的方法,提出来放到基类中去,来提高代码的可维护性和重用性。那么这一节,我们所讲述的正好相反。就是把基类中不常用的方法,或者只有某个继承类会用到的方法,踢出去,搬移到需要他的类中去,来让结构更清晰,提高代码的可读性。

    重构前代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace _31DaysRefactor
     7 {
     8    public abstract  class Animal{
     9 
    10        public void Bark()
    11        {
    12 
    13            //code to bark
    14        }
    15    }
    16 
    17 
    18    public class Dog : Animal
    19    {
    20 
    21    }
    22 
    23    public class Cat : Animal
    24    {
    25 
    26    }
    27 }

    比如 在基类中的方法Bark  ,在继承类中,只有Dog类需要,因为只有狗才能叫狗吠。而Cat类根本不需要该方法。所以直接把Bark方法提到Dog类中去,让结构更清晰,更容易理解。

    重构后的代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace _31DaysRefactor
     7 {
     8    public abstract  class Animal{
     9 
    10       
    11    }
    12 
    13 
    14    public class Dog : Animal
    15    {
    16        public void Bark()
    17        {
    18 
    19            //code to bark
    20        }
    21    }
    22 
    23    public class Cat : Animal
    24    {
    25 
    26    }
    27 }

    当然,这些是简单的重构方法,什么时候该用什么时候不该用,都要视具体情况决定,也不能一味的乱用。

  • 相关阅读:
    Django 初探--Django的开发服务器及创建数据库(笔记)
    Django初探--开发环境搭建(笔记)
    python文件处理--笔记
    python-property、docstring--笔记
    python之Lambda函数---笔记
    参数拆分-- 笔记
    python—带形状的词云图
    python—压缩文件
    python—dataframe用法
    python—mysql数据库读取表1获取name作为参数,传入访问表2获取age,结果存入excel
  • 原文地址:https://www.cnblogs.com/yplong/p/5285371.html
Copyright © 2011-2022 走看看