不能想太复杂,不能想太简单。
因为必须得思考当前的设计结果对未来的影响。而这种思考的深度来源于经验,天赋,嗅觉,联想,分析。
思考完之后,就要留有足够而恰当的空间能够在未来对已成型的系统进行最少量但最大化的改进。这是另一种学问了。如何去组合,组装,有机结合。
系统应当做有机体,是有生命的。所以它应该是成长的,追求完美固然是好,但是追求完美的过程中,是否严格的验证完美的每一角都能和别的地方共融一个有机体?很难。而最成熟的设计我现在觉得是,必须以自然规律为基础,用发展的眼光去奠定设计的思路。思考出的完美,必须取出当前严格验证是正确的作为当前思考的重点。而适当留些空间给那些完没中显得模糊的,不确定的,灵感性的因素。而与此同时,自然能划分出一些阶段,分清每个阶段的主要矛盾。
追求完美,本身就是在赌博。运气好,就会一夜成名,否则,就会让系统胎死腹中。而如果不追求完美,以后想完善很难。所以,要在追求多完美和系统能承受多少压力之间,进行权衡。所以有人说,designing is an art rather than a technology.
同时,我发现这本书翻译的。。。唉,不说了,还是得自己看thinking in java edition4,其实很多术语,话语都是按照英文字面意思就能得到理解的,而且外国人写东西也比较朴实。从java networking programming 3和 Professional JavaScript For Web Developers (2005)中可以体会到。而翻译之后呢?语言变得罗嗦,前后甚至不一致,字面意思翻译错误导致全盘错误,难以理解。。。。。。比如,generation number翻译成“代数”。啥?