300分请教myan, gigix, cber等大虾关于泛型程序的设计问题
可口可乐 2001-12-06 02:43:34 近几日在读潘爱民老师翻译的《深入解析ATL》,书中说ATL是得到STL的启发而得来的,我认为ATL也可以看成是一个泛型的实作吧。
读完3,4章,感觉书写的很好,把一些类解释的很清楚,也感觉收获很大。可是放下书本,再让我想想这些类,我感觉头脑一偏混乱,什么这个泛型类,那个泛型类,常常搅和在一起,也就是潘爱民老师在书评中所说的“陷入ATL的复杂语法之中”。思考良久,我认
为单个的每个类我是看懂了(至少是表面上看懂),可是每个类为什么要这么设计,每个
类的模板参数为什么要这么定,我就不知道了。对于一个面向对象的程序,如果你告诉我
这个类的设计是遵照这个设计模式,运用此设计模式会有什么好处,我会对程序的框架很
清楚。可是《深入解析ATL》没告诉我,为什么每个类会这么设计,而不是那么设计,每
个类的模板参数为什么要这么定,而不是那么定,所以到头来,单个的每个类我知道,可
以整体的框架我一篇混乱。
我想请教各位大侠是,关于泛型程序的设计,有没有类似面向对象的程序设计中的设计模式,或者是有没有什么准则,能够以不变应万变,按照此准则设计出来的泛型程序会有什么好处。
myan大侠曾经说过“使用GP,你的设计思路变了,分析问题的角度变了,写代码的方法变了,评价程序的尺度变了,对于整个程序结构和软件构造的看法也变了”,我希望大侠能解释一下,到底变成什么样了。你拍案叫绝的一些程序是写的很好,可是它们是按照什么思路写出来的,有什么是可以遵循的。
希望各位大侠能够不吝赐教,结合你们的设计经验,说说关于泛型程序的设计的准则问题,最好能给出例子来解释你们的观点, 如果能结合ATL的设计来解释那就更好了。