大多數編程環境都有兩種數據:結構型別(record types)允許你將數據組織成有意義的形式;基本型別(primitive
types)則是構成結構型別的積木塊。結構總是會帶來一定的額外開銷。它們有點像數據庫中的表格,或是那些得不償失(只為做一兩件事而創建,卻付出太大
額外開銷)的東西。
對象技術的新手通常不原意在小任務上運用小對象-像是結合數值和幣別的money class、含一個起始值和一個結束值的range class、電話號碼或郵政編碼(zip)等等的特殊Strings。你可以運用Replace Data Value with Object(175)將原本單獨存在的數據值替換為對象,從而走出傳統的洞窟,進入炙手可熱的對象世界。如果欲替換之數據值是type code(型別碼),而它并不影響行為,你可以運用Replace Type Code with Class(218)將它換掉。如果你有相依于此type code的條件式,可運用Replace Type Code with Subclass(227)或Replace Type Code with State/Strategy(227)加以處理。
如果你有一組應該總是被放在一起的值域(fields),可運用Extract Class(149)。如果你在參數列中看到基本型數據,不妨試試Introduce Parameter Object(295)。如果你發現自己正從array中挑選數據,可運用Replace Array with Object(186)。
對象技術的新手通常不原意在小任務上運用小對象-像是結合數值和幣別的money class、含一個起始值和一個結束值的range class、電話號碼或郵政編碼(zip)等等的特殊Strings。你可以運用Replace Data Value with Object(175)將原本單獨存在的數據值替換為對象,從而走出傳統的洞窟,進入炙手可熱的對象世界。如果欲替換之數據值是type code(型別碼),而它并不影響行為,你可以運用Replace Type Code with Class(218)將它換掉。如果你有相依于此type code的條件式,可運用Replace Type Code with Subclass(227)或Replace Type Code with State/Strategy(227)加以處理。
如果你有一組應該總是被放在一起的值域(fields),可運用Extract Class(149)。如果你在參數列中看到基本型數據,不妨試試Introduce Parameter Object(295)。如果你發現自己正從array中挑選數據,可運用Replace Array with Object(186)。