今天起床時突然有個念頭,就寫了這篇文章。
可能會冒犯到一些人,先說個抱歉。
標題的介面設計指的是 API 設計。而設計模式,就是你知道的那個。
這兩者並沒有直接關係,只是我剛好想拿出來一起聊。
設計模式的話題
在軟體開發工作中,有時候我們會遇到一些人強調所謂的設計模式或是軟體開發原則。在開發的起手式就會開始思考要採用什麼設計模式,或是在檢討程式碼的時候會用一些名詞:SOLID、DRY、KISS 之類的。或者是很喜歡討論軟體的架構。
其實我對於這類話題一直都滿頭痛的,也聊不起來。
所謂的「模式」,其實都是先形成以後才被辨識出來的。我指的是這個詞本來的意思,不僅只於程式語言的領域。
換言之,設計模式並不是從頭開始,而是經驗累積的結果。設計模式對於討論不同專案的異同是個很好的切入點,但是對於輔助開發當前的專案來說,實用度就沒那麼高了。
而架構也一樣,應該是依照專案的需求而演進的。需求不明確的情況下,強行套用某一個架構,往往容易累積技術債。