中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

改善代碼設(shè)計 —— 處理概括關(guān)系(Dealing with Generalization)

  系列博客

      1. 改善代碼設(shè)計 —— 優(yōu)化函數(shù)的構(gòu)成(Composing Methods)

      2. 改善代碼設(shè)計 —— 優(yōu)化物件之間的特性(Moving Features Between Objects)

      3. 改善代碼設(shè)計 —— 組織好你的數(shù)據(jù)(Composing Data)

      4. 改善代碼設(shè)計 —— 簡化條件表達式(Simplifying Conditional Expressions)

      5. 改善代碼設(shè)計 —— 簡化函數(shù)調(diào)用(Making Method Calls Simpler)

      6. 改善代碼設(shè)計 —— 處理概括關(guān)系(Dealing with Generalization)

  1. Pull Up Field (提升值域)

  解釋:

      如果發(fā)現(xiàn)每個子類都擁有相同的某個值域, 那么使用 Pull Up Field 將這個值域提升到父類中去.

  沖動前:

  沖動后:

  2. Pull Up Method (提升函數(shù))

  解釋:

      如果每個子類都有相同的某個函數(shù), 這個函數(shù)做同樣的事情, 而且結(jié)果也相同, 那么使用 Pull Up Method 將這個函數(shù)提升到父類中去.

  沖動前:

  沖動后:

  3. Pull Up Constructor Body (提升構(gòu)造函數(shù))

  解釋:

      特別要注意每個子類中重復的代碼, 如果可能的話盡量將它們提煉成方法并搬到父類中去. 對于子類的構(gòu)造函數(shù), 我們需要找出相同的部分, 用這些相同的部分組成父類的構(gòu)造函數(shù).

      如下面的例子, 如果不光 Salesman, 還有 Engineer 等等類別的員工在構(gòu)造他們的時候都需要 name 和 level 屬性, 可以考慮使用 Pull Up Constructor Body 將設(shè)置這兩個屬性提升到父類的構(gòu)造函數(shù)中去.

  沖動前:

class Employee
{
public string Name { get; set; }
public int Level { get; set; }
//...
}
class Salesman : Employee
{
public string Hobby { get; set; }

public Salesman(string name, int level, string hobby)
{
this.Name = name;
this.Level = level;
this.Hobby = hobby;
}
//...
}
//...

NET技術(shù)改善代碼設(shè)計 —— 處理概括關(guān)系(Dealing with Generalization),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 青青久久久 | 99久久婷婷国产综合精品电影 | 特黄小视频 | 欧美成人一区二区三区 | 99re6热在线精品视频播放 | 日韩五月天 | www亚洲精品| 欧美色综合网 | 91精品国产91久久综合桃花 | 国产精品久久久久久婷婷天堂 | 久久成人18免费网站 | 国产精品无 | 日韩久草 | 在线a视频 | 久久久久久久网 | 国产精品久久视频 | www.中文字幕av | 黄频免费 | 日韩成人av在线 | 暴草美女| 国产成人精品一区二区三 | 一区二区播放 | 99pao成人国产永久免费视频 | 国产精品福利在线观看 | 日韩91 | 免费 视频 1级 | 久久成人免费视频 | 97视频在线观看免费 | 中文福利视频 | 美日韩视频 | 国产精品日韩高清伦字幕搜索 | 麻豆成人在线视频 | 亚洲成人精品免费 | 亚洲成人激情在线观看 | 亚洲日本激情 | 久久久久国产精品一区二区 | 欧美精品中文字幕久久二区 | 精品一区二区三区不卡 | 日韩在线观看中文字幕 | 欧美www在线观看 | 成人区精品一区二区婷婷 |