我正在重新閱讀「有效Java」,同時在大量使用Spring依賴注入的商店工作。在閱讀布洛赫的書時,人們不禁會提起他對課堂不可變性的強調(他多次聲明類應儘可能不可變)。我不禁感到這與Spring依賴注入(以及大多數DI引擎)對javabeans標準的依賴有直接衝突。 閱讀'春天在行動'關於DI的章節看起來好像他們會讓布洛赫畏縮他們的可變類,這些可變類在您的權限之外實例化的對象可能在他們自己的權限中是可變的。易變性和彈性
布洛赫的想法對於春天來說太新奇了嗎? Spring模型被破壞了嗎? Bloch對不變性的立場僅適用於編寫庫代碼嗎?在編寫Spring代碼時,我應該使用許多getter和setter編寫靈活的對象,或者在構造函數中加載所有東西?
布洛赫並沒有說「永遠不要讓事情變得可變」,他說「不要讓它們變得比必要更多」。如果你的框架需要一定程度的可變性,那麼這就是你必須忍受的。 – skaffman 2011-04-20 14:45:15
那麼在關於可變性,伸縮構造函數和構建器模式的項目中,他會拋棄javabeans標準(指的是過時),但該標準是Spring的基礎,是否意味着Spring會過時? – nsfyn55 2011-04-20 14:55:06
spring不依賴於javabeans標準。 – Bozho 2011-04-20 14:58:53