本節書摘來自異步社群《javascript設計模式》一書中的第10章,第10.4節,作者:張容銘著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
“嗯,這是因為咱們公司的整個輕量級的a架構太像jquery了,我們可以将這兩種架構看成是相似架構。但是如果一個架構與jquery血緣遠一點,那麼對于這種異類架構适配情況就複雜得多了。舉個例子吧,還是實作上面兩個事件,是以我寫了一個這樣的架構。”
“那麼要完成上面的需求我們可以這樣做。”
“好了,小白,那麼我想引入jquery來換原有的a庫,你知道該如何做麼?”
小白思考了一下說:“首先g方法是通過id擷取元素,是以通過$(jquery的簡寫名稱)方法擷取jquery對象然後通過get擷取第一個成員即可,不過on方法有些複雜,我們不能直接替換,因為jquery和我們的a庫在通過id擷取元素時是有差別的,jquery的id前面要加#。是以異類架構的擴充卡應該是這樣的吧。”
“你還是很聰明的。是這樣,通過擴充卡我們發現如果兩種架構的‘血緣’比較相近,那麼我們适配起來是比較容易的,如果‘血緣’相差甚遠我們的擴充卡寫起來要複雜得多,是以你要記住,日後非到萬不得已情況下,盡量引入相似架構。”
“是呀,後一種要寫不少代碼呀。”小白補充說。