我们不应该盲目的创建属性,而是只是再需要从其他的代码调用这个属性时才创建它。这个策略有几个作用。首先,不会有不需要的代码。开发者很多时候都会创建太多预期性的代码,因为他们在想:“反正我以后肯定需要这个,倒不如先在就做了吧”如果你是用工具来自动穿件属性,就算在你需要这个属性之后才穿件,也不会让你格外费劲。
其次,可以避免让代码有不必要的臃肿。属性在代码里面所占的空间很多,这些自动生成的代码会减慢你阅读代码的速度。
最后,不要担心要为这些属性写测试。因为所有的属性都在真正使用这些属性的地方被调用了,所以它们会自然而然地被其他的测试覆盖
我永远都不会用测试驱动开发属性,我只会在需要时才生成他。。。
静态性和状态的邪恶混合常常发生在Singleton模式中。。。
唉,我算是对Singleton模式比较熟悉了,Guard系统整个系统的设计都是基于Singleton模式来实现的。。。真的是很邪恶。。自从徐师兄走了之后,Guard版本的管理貌似就陷入混乱了。。也不管什么CVS了。。也不管什么OO了。。。什么模式之类的都 搞到一起去了。。不过。。不得不说。Guard写的真的是非常漂亮。。很多代码都是规范性的。。!!
如果OO,那么就OO到底。。如果非OO,那么一开始就别东搞一点,西搞一点。。弄的什么都不是。。很难过啊。。