過去以為自己有符合某些概念
但是在實作新物件、refactor、寫 Testing Code 的過程中才發現更多的問題
例如:
一個處理號碼 (phone) 資訊的物件,他可以提供號碼物件給其他 manager or ui 使用,也可以透過網路更新本身的資料。
過去我可能就會寫一個 PhoneInfoManager 裡面有很多的 PhoneInfo,然後這個 Manager 內有一個 update method,裡面實作 server api 相關的程式碼。
像是
1 | class PhoneInfoManager { |
在現實生活中,這是個很直覺的物件,有一個處理器,能做這些事情。如果只是單純的使用,其實這樣寫也不會有什麼大問題
總是有那麼一個 but!
當要寫 Testing Code 時,問題就浮現出來了!