Abstract
我們已經在STL中看到loose coupling的威力了,但我今天發現,數學更是loose coupling最佳的詮釋。
Introduction
從小學到大學,哪些科目用處最大?英文和數學,英文不難理解,因為他是語言,任何知識都以英文傳遞,至於數學,一個很抽象難學的東西,卻又陰魂不散的在很多學科都用上,為什麼呢?
很多學科的知識,是屬於domain knowledge,脫離那個學科就用不上了,這也是為什麼有些學科可能學了後,只要你日後的學習或工作不是那個領域,就一輩子也用不到。回想數學是怎麼形成的?數學是很多domain發現了一些有用的運算規則後,經過整理,用特定的符號表示,也因為他完全跟domain切割,完全的loose coupling,所以這些數學規則又可被其他domain再利用。
Design Pattern的可貴在於如何的活用這些Pattern,事實上,數學就是一種Design Pattern,當你學了很多數學定義,公式後,最可貴的也就是如何將這些數學套用到你的domain。數學為什麼這麼強大?因為數學很抽象,越抽象威力越大,且與domain的loose coupling徹底,所以數學reuse程度非常高,可以用在很多domain,這也是為什麼各domain都以數學為研究的工具。數學與Desgin Pattern不同的是,數學還可以演算,透過數學的演算,常可推演出令人驚艷的結果,因而造就出新的科技。
Conclusion
數學讓我看到了loose coupling的威力,我寫程式也要努力朝著loose coupling的目標前進,此外,數學真的是一個很棒的工具,因為其抽象,因為其loose coupling,所以reuse程度高,我不能再逃避數學了,要更加強自己的數學能力,將數學用到自己的domain上。