--- robots: noindex, nofollow tags: refactoring --- # Message Chains  ## 徵兆與症狀 你看到了類似 `a->b()->c()->d()` 的程式碼。 ## 出現原因 Client 請求另外一個物件,然後再請求下一個物件,然後再請求...。這表示 client 會倚賴這請求過程中遇到的所有物件,這些物件做了任何修改,client 都要做對應調整。。 ## 處理方法 - 使用 `Hide Delegate` 來解除這些委任關係。 - 或許更好的作法是思考,有沒有可能讓結果物件用 `Extract Function` 把依賴訊息的功能抽取出來,接著用 `Move Function` 把功能搬移到呼叫端。
×
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