當前位置:
首頁 > 最新 > POJO 對象setter 方法是否合適return 「this」

POJO 對象setter 方法是否合適return 「this」

通常的POJO對象setter方法return 為void

但是面對對象屬性填充時,一堆的set方法讓代碼看起來很臃腫,部分同學採用類build模式,對setter方法進行改造,改造後就可以使用鏈式處理簡化屬性設置;

流式編碼風格如:

有人認為這讓pojo方法設置變得更加便捷,有其使用之處,但是也有人認為打破了Java Bean的規約,破壞了每個函數單一職責的原則,也可能會破壞一些工具庫的使用,或組織JVM做一些優化。而且在IDE中getter&setter的自動生成內容中並沒有「return this」。綜其所述,setter方法「return this」並不建議。

當然還有其它選擇方案:

方法一:

採用java內置語法:

方法二:

採用更加複雜的內部類builder模式:

造者模式(Builder Pattern):將一個複雜對象構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。但是一般POJO 類都比較簡單,非複雜對象,所以採用builder模式並不會讓代碼變得簡潔,反而會顯得更加臃腫。

方法三:

屬性新增withXxx方法:

結論:

不建議在POJO: Java Bean的setter方法中添加『return this』,我們遵循Java規範,如果期望簡化Java Bean的屬性設置,可以採用with或build方法。

參考:

https://en.wikipedia.org/wiki/Plain_old_Java_object

https://stackoverflow.com/questions/1345001/is-it-bad-practice-to-make-a-setter-return-this

只有技術才是硬通貨,看到技術背後的思想價值;做別人做不了的事情。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java進階與雲計算開發 的精彩文章:

工作一年,如何解決職場技術焦慮

TAG:Java進階與雲計算開發 |