Effective Java Item5 使用依賴注入優於硬連結資源

整理Effective Java書中Item 5: Prefer dependency injection to hardwiring resources心得筆記

主旨

這篇在呼應item3提到的singleton以及item4中utils class的問題,建議使用依賴注入(dependency injection)。

點出問題

Static utility classes and singletons are inappropriate for classes whose behavior is parameterized by an underlying resource.

Static utility classes and singletons這兩種不適合使用參數取得底層資源,舉個白話一點的例子,今天需求是驗證信用卡卡號是否合法,你寫了一個utils class也遵照了item4提出的建議,很快地做完了。

Read more

Effective Java Item3 使用私有建構函式或列舉實現單例

整理Effective Java書中Item 3: Enforce the singleton property with a private constructor or an enum type心得筆記

主旨

本篇在介紹單例模式(singleton pattern)以及相關缺失防範。

singleton 常見方法

  1. private constructor和static final INSTANCE
Read more