有一個強大的argument使對象不可變。所以我們應該在可能的情況下永遠堅持不變,或者在決定某件事是不可變的時候看待現實世界?當我們決定不變時,我們應該看看現實世界嗎?
示例:紙牌遊戲。 「卡牌」是不可改變的嗎?我們有兩種選擇:
- 甲板是不可變的。所有方法(shuffle,deal-one)都會返回一個對新的deck對象的引用。
- 甲板是可變的。所有方法都會改變當前的牌組。
這將是很好的使甲板不可變。我們將從上面的鏈接中獲得好處。但在現實世界中,套牌並非一成不變 - 我們洗牌並獲得「相同」牌組,但順序不同。