--- robots: noindex, nofollow tags: refactoring --- # Middle Man  ## 徵兆與症狀 如果一個類別只做一個動作,就是把任務委派給其他類別,那這個類別需要存在嗎? ## 出現原因 物件導向的其中一個特色是封裝(對外面世界隱藏內部細節),而封裝往往會伴隨著委派。而過度委派的情況下,就走歪了。 其他可能原因也有,當某個類別的任務漸漸搬移到其他類別時,原本類別到最後就會變成一個只委派任務的空殼。 ## 處理方法 - 如果發現類別內有半數以上的方法都在委派任務,可以用 `Remove Middle Man` 來移除。 - 若只有部分方法使用委派,可以用 `Inline Function`,將方法搬回呼叫端。 - 若有額外行為,可以用 `Replace Superclass with Delegate` 或 `Replace Subclass with Delegate` 將委派任務搬到真實類別去。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up