🤔多一點介面設計,少一點設計模式

有些工程師喜歡在開發初期討論架構、設計模式,甚至引經據典講起各種原則。這篇文章不是要反對這些做法,而是從另一個角度出發,談談我在實務中更重視的一項能力,以及我會怎麼練習它。

今天起床時突然有個念頭,就寫了這篇文章。
可能會冒犯到一些人,先說個抱歉。

標題的介面設計指的是 API 設計。而設計模式,就是你知道的那個。
這兩者並沒有直接關係,只是我剛好想拿出來一起聊。

設計模式的話題

在軟體開發工作中,有時候我們會遇到一些人強調所謂的設計模式或是軟體開發原則。在開發的起手式就會開始思考要採用什麼設計模式,或是在檢討程式碼的時候會用一些名詞:SOLID、DRY、KISS 之類的。或者是很喜歡討論軟體的架構。

其實我對於這類話題一直都滿頭痛的,也聊不起來。

所謂的「模式」,其實都是先形成以後才被辨識出來的。我指的是這個詞本來的意思,不僅只於程式語言的領域。

換言之,設計模式並不是從頭開始,而是經驗累積的結果。設計模式對於討論不同專案的異同是個很好的切入點,但是對於輔助開發當前的專案來說,實用度就沒那麼高了。

而架構也一樣,應該是依照專案的需求而演進的。需求不明確的情況下,強行套用某一個架構,往往容易累積技術債。