請允許我再次脫離主題,在這里談一談函數(shù)式編程。
將函數(shù)作為參數(shù)傳遞并不僅僅出于技術(shù)上的考量。對軟件設(shè)計來說,這其實是個哲學問題。想想這樣的場景:在index文件中,我們可以將_router_對象傳遞進去,服務器隨后可以調(diào)用這個對象的_route_函數(shù)。
就像這樣,我們傳遞一個東西,然后服務器利用這個東西來完成一些事。嗨那個叫路由的東西,能幫我把這個路由一下嗎?
但是服務器其實不需要這樣的東西。它只需要把事情做完就行,其實為了把事情做完,你根本不需要東西,你需要的是動作。也就是說,你不需要名詞,你需要動詞。
理解了這個概念里最核心、最基本的思想轉(zhuǎn)換后,我自然而然地理解了函數(shù)編程。
我是在讀了Steve Yegge的大作名詞王國中的死刑之后理解函數(shù)編程。你也去讀一讀這本書吧,真的。這是曾給予我閱讀的快樂的關(guān)于軟件的書籍之一。
更多建議: