四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

改善代碼設(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ù))

  解釋:

      特別要注意每個子類中重復(fù)的代碼, 如果可能的話盡量將它們提煉成方法并搬到父類中去. 對于子類的構(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)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 朋友的女友| 根深蒂固韩国电影| 未来少年柯南 动漫| 内蒙古电视台节目表| 大学英语综合教程1课后答案| 隐藏的真相| 霸王茶姬喝了睡不着的原因| 明天属于我们第一季法剧完整版| 日本电视剧《阿信》| 拔萝卜歌谱| 打开免费观看网站| 鬣狗交配视频| 黄飞鸿电影全集| 曹永廉| 狼和狗的时间| 成龙电影全部电影作品大全| 飞虎神鹰1-42集免费| 1号玩家| 全球gdp排名| 科洛弗| 我的神我要赞美你| bobo视频| 好男人影院| 七年级下册语文读读写写拼音全部| 王瑞儿视频| 天天快乐高清在线观看视频| 山东教育电视台直播| 可爱的萝拉| 徐一航的电视剧叫什么| 豆腐西施杨七巧 演员表| 六级词汇电子版| 格伦·克洛斯| 流浪地球2演员表| 李顺大造屋| 红色诗词手抄报简单又漂亮六年级| 欲望之城电影| 成年奶妈| 朱砂手串的功效与作用佩戴禁忌| 乔什·哈切森| 阴阳界 电影| 女总裁电视剧大结局|