雙拼、kotlin、依賴倒置

最近在練習用雙拼打字。
雙拼,即每個字都用兩個鍵打出來。
比如,“中國”這兩個字,用全拼打出來的話,需要按的鍵是:z、h、o、n、g、g、u、o。
如果是雙拼(以小鶴雙拼爲例),就是v、s、g、o。
這相當於很多的快捷鍵,一個鍵可以代表多個字母:
v(zh)、s(ong)、g(g)、o(uo)。
按鍵少了,速度自然更快,字的匹配度也會變高。
只是這些快捷鍵的記憶需要練習。

這種將漢字分爲 聲母 + 韻母 的方式,讓我想到了設計模式中的依賴倒置原則。
依賴倒置原則,即面向接口編程,模塊之間的依賴關係通過接口發生。
這樣設計下來,接口不依賴於實現類,實現類依賴接口。
因爲人類認識自然界,是先看到細節,再從細節總結出抽象,所以抽象依賴於細節。
而在這樣的模式中,是先約定了抽象,然後纔有的實現細節,所以細節依賴於抽象,所以這個原則叫依賴倒置。

說完依賴倒置,再來看看雙拼,在這裏,聲母是一個接口,韻母是一個接口,所有的漢字都是這兩個接口的組合。
將漢字進行這樣的分類後,打字的頻率固定,可能剛開始速度並沒有很明顯的提升,但節奏感卻突飛猛進。
林語堂說,一切藝術的問題,都是節奏的問題。
當節奏感變得明朗,打字似乎也變成一種藝術。

在編程中,我想大家最討厭的,應該就是特殊情況,要處理特殊情況,就會出現成堆的 if/else,令人頭大。
這時就可以運用依賴倒置原則,使用接口來代替 if/else,上層只處理接口,每種情況對應一個接口的實現。
比如 kotlin 中,相比於 Java,沒有基礎類型,所有的類型都是對象這個接口的實現。
沒有 void,新增了 Unit,統一了函數的參數類型,所有的參數都是類型這個接口的實現。

程序是抽象的藝術,它需要找到自己的節奏。而合適的接口,往往就是合適的節奏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章