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

改善代碼設計 —— 處理概括關系(Dealing with Generalization)

  系列博客

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

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

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

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

      5. 改善代碼設計 —— 簡化函數調用(Making Method Calls Simpler)

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

  1. Pull Up Field (提升值域)

  解釋:

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

  沖動前:

  沖動后:

  2. Pull Up Method (提升函數)

  解釋:

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

  沖動前:

  沖動后:

  3. Pull Up Constructor Body (提升構造函數)

  解釋:

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

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

  沖動前:

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技術改善代碼設計 —— 處理概括關系(Dealing with Generalization),轉載需保留來源!

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

主站蜘蛛池模板: 日本在线视频中文字幕 | 欧美男人天堂 | 午夜免费福利电影 | 91久久久久久久久久久 | a级免费黄色片 | 亚洲444kkkk在线观看最新 | 日韩欧美大片在线观看 | 日韩毛片免费看 | 欧美中文字幕一区二区三区亚洲 | 亚洲情综合五月天 | 国产视频第一页 | 国产精品综合久久 | 色婷婷综合在线观看 | 日韩精品一区二区三区 | 日韩中文字幕网 | 欧美精品在线看 | 国产在线第一页 | 狠狠躁躁夜夜躁波多野结依 | 欧美一级二级视频 | 伊人久久精品一区二区三区 | www性色 | 欧美一区视频 | 一级毛片网 | 浴室洗澡偷拍一区二区 | 国产一区二区三区久久 | 国产精品久久久久久av公交车 | 国产玖玖 | 亚洲视频一区 | 91视频电影 | 久操伊人 | 久久国产精品免费一区二区三区 | 精品一区在线免费观看 | 日韩在线资源 | 欧美日韩在线精品 | 美女一区二区在线观看 | 免费不卡av | 日韩亚洲一区二区 | 天天干天天玩天天操 | 欧美日韩亚洲国产 | 九九av| 久久99蜜桃综合影院免费观看 |