原創文章歡迎轉載,但請保留作者信息]
Justin 于 2009-12-16
其實原作標題為“把類當作類型一樣設計”(Treat class design as type design),但是我意識還沒到大師的水準,領悟不了。于是做回標題黨,醒目一些以便引起以后重讀時的注意。
以上就是Scott大師在一個Item里面談到的需要注意的方面,看完了我想:沒那么容易吧……
要做到上面的要求其實不容易,范圍太大了,跟要一輩子做個好人一樣@#¥%
于是大師指出下面幾個方向:
是不是說如果兩者一樣的時候就要懷疑是不是有出錯的可能?
對于前者,可以編寫一個(隱式的)轉換函數(如果讀到這里你也像我一樣不明白,參考Item15里面的隱式轉換咯~),或者是通過額外編寫一個T2的構造函數來實現T1向T2的轉換。
對于后者,Scott說寫一個(顯式的)轉換函數就可以了。(同樣,在Item15里也有顯式轉換函數的例子)
認真審查類的隱性限制。性能上的要求、使用資源的限制或是出錯時的處理都有可能影響到類的具體設計和實現。
第19招其實更像是個check list,在準備動手設計之前,一一比對打勾劃叉,應該可以提前避免很多人間慘劇……


