天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

  系列博客

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

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

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

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

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

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

  1. Pull Up Field (提升值域)

  解釋:

      如果發現每個子類都擁有相同的某個值域, 那么使用 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),轉載需保留來源!

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

主站蜘蛛池模板: 欧美日韩一区在线观看 | 亚洲欧美国产旡码专区 | 99视频精品全部免费观看 | 国产欧洲野花A级 | 国产成人精品免费视频软件 | 在线看片福利无码网址 | 亚洲白色白色在线播放 | 亚洲裸舞 hd| 亚洲精品免费网站 | 亚洲精品国产精品麻豆99 | 与嫂子同居的日子在线观看 | 被公疯狂玩弄的漂亮人妻 | 99国产在线精品视频 | 被送到黑人性奴俱乐部 | 最新国产在线视频在线 | 成人1000部免费观看视频 | 学生精品国产在线视频 | 色婷婷亚洲精品天天综合影院 | 亚欧成人毛片一区二区三区四区 | 久久国产精品萌白酱免费 | 超碰caopro熟女m超碰分类 | 亚洲AV电影天堂男人的天堂 | 中文字幕欧美日韩VA免费视频 | 麻豆国产原创中文AV网站 | 国自精品三七区 | 成人国产精品玖玖热色欲 | 国产高清精品国语特黄A片 国产高清国内精品福利色噜噜 | 草神被爆漫画羞羞漫画 | 黄小飞二人转 | 亚州天堂在线视频av | 领导边摸边吃奶边做爽在线观看 | 成年美女黄网站色app | 久久精品国产免费中文 | 久久精品嫩草影院免费看 | 色色色久久久免费视频 | 美国大臿蕉香蕉大视频 | 欧美性xxx极品 | 亚洲欧美精品无码大片在线观看 | 精品高潮呻吟99AV无码视频 | 久久精品国产免费 | qvod播放电影|