7
Getter、Setter的用與不用 | iThome (www.ithome.com.tw)
IngramChen 積分 4 編輯於

setter 大部份只適合用在

  • 純資料 (例如 data transfer object)
  • 沒有副作用的欄位 (意即存取快,而且不會影響物件完整性)

其他的地方想用也不是不行,只是建議可以想一下是不是有沒有更好的寫法。

getter 的話大致上也是用同個規則,只是比較鬆一點,例如 view 那端的物件,自然是充滿了 getter 了,因為要顯示出來啊。

什麼時候可以不用產生 getter/setter method,直接將 field public 出去?其實符合的狀況並不多,大概只有 private inner class (or package private) 才適合吧。

kaif 積分 2

這裡1 建議用immutable object + constructor + builder

kerkermonkey 積分 1

幾年來,我們單位也討論過不曉得多少次,最後的共識是只要能清楚的表達物件意圖,好維護與擴充就行了,物件理論與Pattern的取捨也比照辦理。

反而 code review 的重要性提高了。