我們不應該盲目的創(chuàng)建屬性,而是只是再需要從其他的代碼調用這個屬性時才創(chuàng)建它。這個策略有幾個作用。首先,不會有不需要的代碼。開發(fā)者很多時候都會創(chuàng)建太多預期性的代碼,因為他們在想:“反正我以后肯定需要這個,倒不如先在就做了吧”如果你是用工具來自動穿件屬性,就算在你需要這個屬性之后才穿件,也不會讓你格外費勁。
其次,可以避免讓代碼有不必要的臃腫。屬性在代碼里面所占的空間很多,這些自動生成的代碼會減慢你閱讀代碼的速度。
最后,不要擔心要為這些屬性寫測試。因為所有的屬性都在真正使用這些屬性的地方被調用了,所以它們會自然而然地被其他的測試覆蓋
我永遠都不會用測試驅動開發(fā)屬性,我只會在需要時才生成他。。。
靜態(tài)性和狀態(tài)的邪惡混合常常發(fā)生在Singleton模式中。。。
唉,我算是對Singleton模式比較熟悉了,Guard系統(tǒng)整個系統(tǒng)的設計都是基于Singleton模式來實現(xiàn)的。。。真的是很邪惡。。自從徐師兄走了之后,Guard版本的管理貌似就陷入混亂了。。也不管什么CVS了。。也不管什么OO了。。。什么模式之類的都 搞到一起去了。。不過。。不得不說。Guard寫的真的是非常漂亮。。很多代碼都是規(guī)范性的。。!!
如果OO,那么就OO到底。。如果非OO,那么一開始就別東搞一點,西搞一點。。弄的什么都不是。。很難過啊。。