今天耐下心看了下javascript設計模式,瞭解了JavaScript的多態。下面是我的相關學記筆記,以方便日後的回顧。
首先,先介紹下多態是什麼。多態的實際含義是:同一操作作用於不同的對象上面,可以產生不同的解釋和不同的執行結果。換句話說,給不同的對象發送同一個消息的時候,這些對象會根據這個消息分別給出不同的反饋。
通俗點講就是,下課了,老師喊了一聲下課,對於飢腸轆轆而言的學生來說,接收的都是“下課了”這一消息,但是,聽到這個消息會有什麼計劃卻不一樣,有的去食堂,有的回寢室……..這些行爲就是對“下課了”這一消息做出的不同反饋。
理解了多態,我們就要知道在實際的編程中,多態思想在JavaScript編程中究竟給與我們何種體驗,下面通過代碼對比,來總結出這一體驗。繼續,上碼咯!
未使用多態思想的代碼:
如果此時,我們希望在增加一個地圖接口,譬如sosoMap,那麼爲了實現代碼的彈性,我們需要添加if–else語句來實現,造成render函數需要經常變動。
有木有覺得甚煩呢?
使用多態思想的代碼:
這裏的render函數不再用來判斷調用哪種接口了,現在只是讓它負責“做什麼”而不需要負責“怎麼做”。下面看看再添加一個接口的情況
現在即便增加一個接口,也不需要大動干戈了,只是需要定義一下這個接口就成,代碼確實簡潔了呢!
真的是get到了!繼續加油!