代碼重構(gòu)~方法歸父
這幾天牙痛的厲害,所有一直沒有寫博客,今天正好有個培訓(xùn)的機會,所以就把“代碼重構(gòu)”這塊的內(nèi)容整理了一下,首先看一下方法歸父吧。
方法歸父 — 或譯函數(shù)上移,指的是方法從子類移動到父類,為什么呢,其主要原因就是一個方法在多個類中出現(xiàn)了,這樣違背了REP原則,出現(xiàn)了重復(fù)的代碼,這時,我們稱為"代碼的壞味道",我們需要將代碼進(jìn)行重構(gòu),將這個方法提升到它們的基類中進(jìn)行
實現(xiàn),當(dāng)前如果子類有各自的邏輯,還可以將父類的方法聲明為virtual虛方法,這樣,子類可以根據(jù)自己的業(yè)務(wù)去重寫它.
代碼如下:
1 #region 方法歸父 2 /// <summary> 3 /// 多于一個類中都有相同的Insert方法,這時,我們應(yīng)該 4 /// 考慮將Insert方法歸到父到中 5 /// </summary> 6 class sub1 7 { 8 /// <summary> 9 /// 插入方法 10 /// </summary> 11 public void Insert() 12 { 13 throw new NotImplementedException("插入方法"); 14 } 15 } 16 class DisplayBase 17 { 18 /// <summary> 19 /// 插入方法 20 /// </summary> 21 public virtual void Insert() 22 { 23 throw new NotImplementedException("插入方法"); 24 } 25 } 26 class sub2 : DisplayBase 27 { } 28 #endregion
浙公網(wǎng)安備 33010602011771號