類別設計
減少易變性(mutability)
- 除非有好理由,不然類別應該要 immutable:好處是單純、thread-safe、可重複使用;缺點是每個不同的值都是獨立的物件,也就是為了改一個值,就要放棄現在的物件取得新的物件。
以 python 為例,int 是 immutable 的,所以使用 '1'
的值,它只要產生一次對應的物件,後續只要使用到 '1'
的值,就使用同一個物件即可。
>>> id(1)
10914496
>>> x = 1
>>> id(x)
10914496