Photo by @jonasjacobsson on Unsplash
先從盤古開天說起, Christopher Alexander接受數學與建築教育, 之後在建築領域發展, 於是著作每位建築系學生必讀的書"建築模式語言"A Pattern Language(這本書很厚還分上下集)
ImageResource
Alexander從數學的觀點把大量建築案例分析, 抽象化成當使用者與建築空間互動中,提供了253不同解決問題的模式(Pattern), 當然這思維啟發軟體工程, 造就了四人幫GoF"設計模式"聖經, 後續每年出版不同語言的Design pattern新書, 今天我們主角就是"Pro Design Patterns in Swift"這本書. ("建築模式語言"青春有限的話, 可以跳過不讀拉, 今晚我只想寫code, 不想畫建築藍圖)
Tip
此設計模式可解決有可能遇到的問題嗎?
問題發生的可能性有多高?
現在實作設計模式是否能避免未來修改程式?
很重要所以要再Tip一次, 每次寫code都要捫心自問這三個問題(良心啊), 評估是否寫出優雅的程式碼, 有高內聚低耦合的物件. 等到PM來再加需求, 可以一派輕鬆回覆:「同意啦, 哪次不同意, 妳的需求我可是有對招接下, Easy~」
認識設計模式的極限
To完美主義者:
現實與理論的抉擇, 別過度套用設計模式, 導致更難閱讀與維護, 反而影響開發時程, 在這10倍速時代, 別人說不定都做相同 idea App, 與你競爭.
必備知識
Swift物件導向觀念傳送門
https://www.raywenderlich.com/599-object-oriented-programming-in-swift
要看Pro Design Patterns in Swift這本書Chapter1喔, 此作者講解的很好, 好到不用看我這篇廢文, 我也不想練打字, 再贅述Chapter1 :P
Chapter1, Done.
Thank you.