代码重构之单一职责原则在实际中使用 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    单一职责原则:Single Responsibility Principle,以下举例说明我在代码重构方面对单一职责原则的使用,

代码重构之单一职责原则在实际中使用

   

1、单行代码职责单一

private double GetSubtotalAmount(doube singlePrice,int productCount) {     return singlePrice*productCount; }
上文中的return语句行代码职责不单一,将其改为:

   

double subtotalAmount=singlePrice*productCount; return subtotalAmount;

2、单个变量职责单一

private string GetFirstName(string name)        {            name = name.Substring(0, 6);            return name;        }
上文中的参数变量name被当作返回值使用,改为:

   

string firstName= name.Substring(0, 6);return firstName;

   

3、方法职责单一

private void OnPageLoad()        {            LoadCountryData();        }  private void LoadCountryData()        {            //... Load Data            //Set Item Index=0;        }
将上文中的注释部分//Set Item Index=0提取为一个方法:

   

private void SetCountryListIndex(int countryIndex)   {    //Set Item Index=0;    }
这样在OnPageLoad里面改为

   

private void OnPageLoad()        {            LoadCountryData();        SetCountryListIndex(0);        }

   

4、类或接口或结构体职责单一,以类为例说明

class UserInfor    {        public string Name { get; set; }        public int Age { get; set; }        public string Address { get; set; }        public void UpdateAddress(string newAddress)        {        }    }
可改为:

   

class UserInfor    {        public string Name { get; set; }        public int Age { get; set; }        public string Address { get; set; }     }  class UserBehavior. {        public void UpdateAddress(UserInfor user)        {        }    }

5、模块职责单一

比如一个系统,有人员基本信息模块、考勤模块、工资管理模块,这三块之间相互独立又有关联,考勤和工资都要具体到每个人,各自分工职责很清楚,而且各模块职责单一,

电脑资料

代码重构之单一职责原则在实际中使用》(https://www.unjs.com)。

    以上是我在工作中对单一职责的理解和使用,在此抛砖引玉,欢迎斧正批评。

最新文章