●基本類型困擾(PrimitiveObsession)●數據類(DataClass)●數據泥團(DataClump)●臨時字段(TemporaryField)...[繼續閱讀]
海量資源,盡在掌握
●基本類型困擾(PrimitiveObsession)●數據類(DataClass)●數據泥團(DataClump)●臨時字段(TemporaryField)...[繼續閱讀]
癥狀請查看是否存在以下癥狀:●使用了基本類型或近基本類型(near-primitivetype)(int、float、String等等)●存在表示小整數的常量或枚舉●存在表示字段名的串常量原因造成基本類型的過度使用有多種原因:●缺少類(Missingclass):由于幾乎所...[繼續閱讀]
癥狀●類僅由公共數據成員組成,或者只由簡單的獲取方法和設置方法組成。這就使客戶要完全依賴于此類的可變性和表示。原因類通??赡苋缦抡Q生:你意識到某些數據是一個獨立對象的一部分,因此相應地抽取出了一個類。這種情...[繼續閱讀]
癥狀●同樣的兩至三項頻繁地一同出現在類和參數表中?!翊a聲明了某些字段,并聲明了處理這些字段的方法,然后又聲明了更多的字段和更多的方法,如此繼續(也就是說,在類中同時存在成組的字段和方法)?!窀鹘M字段名以類似的...[繼續閱讀]
癥狀●字段僅在某些時候得到設置,而在其余時間內為null(或未用)。原因對象中的某一部分存在一個算法,該算法要通過字段而非通過參數來傳遞信息,此時就會發生這種情況;這些字段僅在算法處于活動狀態時才有效或得到使用。字段...[繼續閱讀]
癥狀●一個類繼承自其父類,但是拋出了一個異常而不是支持一個方法,此為坦率的拒絕(honestrefusal)?!褚粋€類繼承自其父類,但是在對該類調用時,某個所繼承的方法不能正常工作,此為隱式的拒絕(implicitrefusal)?!窨蛻粼噲D通過子類的...[繼續閱讀]
癥狀●一個類訪問了其父類的內部(本應是私有的)部分。(這與各類之間的不當緊密性有關;請參見第10章中的“不當的緊密性(一般形式)”)。原因相對于兩個陌生人來說,父類與子類之間當然要親密一些。不過有時它們太過親密了(即過...[繼續閱讀]
癥狀●類并沒有做什么工作,似乎是由其父類、子類或是調用者完成了所有相關的工作,而在此類中卻沒有足夠的行為,以至于對其是否繼續存在會產生質疑。原因一般來說,往往是因為:在重構過程中,類的所有職責都已經移至其他位置...[繼續閱讀]
●依戀情結(FeatureEnvy)●不當的緊密性(一般形式)[InappropriateIntimacy(GeneralForm)]●消息鏈(MessageChains)●中間人(MiddleMan)...[繼續閱讀]