OOAD 板


LINE

_________________________ DON'T OVERCLASSIFY Separate concepts into different classes based on behavior, not on data. ﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉﹉ ※ 節錄自:Prefactoring - P.62 曾經有朋友去面試一家公司,面試員問了他一個問題: 「你怎麼決定哪些類別要做,哪些類別不需要做?」 朋友似乎是問答他: 「我都是全部包成類別!」 Oops, 這樣的回答恐怕會讓面試員不太滿意....... 因為不是所有的概念都要做成「不同的」類別 反倒是類似的概念可以藉由擁有不同屬性的相同類別來描述 所以類似的概念可以用單一類別來做 不只是如此,有些簡單的概念「不適合」做成一個類別 因為不是所有的概念都適合以類別來表示 反倒是基本型態就足夠讓設計者了解整個系統的運作模式 所以有些簡單的概念可以用基本型態來處理 舉例而言: 我手上有 500 張風景圖,300 張人物圖,700 張植物圖 一般人的直觀會把這些圖案分類為「風景圖」、「人物圖」、「植物圖」 然後把這三種圖案分別做成三個「不同的類別」 之後再做一個新類別叫作「圖片」當成這三種圖案的父類別 但是!把三種圖案分成三個「不同的類別」有什麼意義嗎? 它們的「行為」幾乎完全相同:取得像素值、設定像素值、…… 那麼把它們分成三個類別不就只是徒增軟體複雜度而已? 需求文件如果沒有特別描述風景圖、人物圖、植物圖要哪些不同的操作功能 只需要一個「圖片」類別就夠了。 剛剛有提到像素值這一回事兒 有些人會把像素值做成一個類別 因為八位元的像素值只會落在 [0, 255],甚至有些標準化的數值是在 [0, 1] 區間 而且進行影像處理的時候,需要取得像素值的「紅色」、「綠色」、「藍色」 甚至有些情況還要取得它的「色調」、「飽合度」、「亮度」 這麼多的理由支持像素值應該獨立出去,建立自己的類別大國 但是!像素值是一個非常底層的概念,而且也非常地簡單 它就是一個數字,一個數字而已 有需要為了它建立這麼多的成員方法嗎? 仔細想一想,進行影像處理的時候,每次都必須先取得像素值,它也許是一個整數 如果套用像素類別,那麼圖片上的每一個像素值都會是一個物件 這意味著 256×256 的圖片就會有 256×256 個像素物件 Oops, 比起全部都用整數來儲存,這麼多的像素物件會是一個很恐怖的效能瓶頸 像素類別的小小改變,會牽動整個系統的執行效率 在這個角度來看的話,不僅每次從影像取得像素值都多了一步建構物件的麻煩 而且還嚴重地影響了系統的執行效率 這麼底層又簡單的像素概念,恐怕不太適合做成一個類別。 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.13 ※ 編輯: H45 來自: 140.116.247.13 (11/17 21:39)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP