18.中間轉手人 安全
對象的基本特徵之一就是封裝,對外部世界隱藏其內部細節。封裝每每伴隨着delegation(委託)。 函數
可是若是過分應用委託,就會看到某個class接口有一半的函數都委託給其它class。這時你應該使用Remove Middle Man直接和實責對象打交道。 對象
19.過分親密 接口
兩個class過於親密,花費太多時間去探究彼此的priavate成分。必須拆散。能夠採用Move Method 和move field。或者運用Extract class 把二者共同點提煉到一個安全的地方。 io
20殊途同歸的類 class
若是兩個函數作着同一件事,請用rename Method根據他們的用途從新命名,反覆運用move Method,或者運用extract superclass。 命名