(原創) CSS就是一種泛型的實做 (C/C++) (template) (Web) (CSS)

我的網友Allen Kuo看了我的淺談泛型程式設計的文章,希望我用實際的程式來表達出泛型的威力,在用實際的程式demo之前,我發現我們身邊就有一個經典的泛型實做:CSS。

CSS成功之處就在於將tag和屬性分開,一個屬性可以套用任何tag,這就是泛型。這樣設計有什麼好處呢?若以OOP的角度,若要增加tag的功能,就是增加屬性,這樣導致每個tag都要去實做這些屬性,勢必工程浩大,但因為CSS和tag分離,所以若要增加功能,只要增加CSS即可,這樣所有的tag都一起增加該功能了。我們的程式也是這樣,藉由物件跟方法的分離,若要對物件增加功能,只要寫一個方法,所有的物件都一起增加了,不用對每個物件去增加功能。

CSS的另外一個威力在Blog的Skin就可看出來,同一個Blog,套上不同的CSS就可以完全變成另外一個網頁。泛型程式也是如此,同樣一個物件,只要配上不同的template function,物件就有了一個全新的功能,你不必擔心為了特定的物件撰寫member function後,其他物件就不能用了,因為是『泛型』,表示其他物件也都適用。

See Also
淺談泛型程式設計

你可能感兴趣的:(template)