水球潘
軟體設計模式精通之旅
用一趟旅程,精通一套能落地的高效率設計思路
台灣 CP 值最高的軟體設計特訓課程
23 部精緻概念&案例教學影片 x 20 道脫離舒適圈的實戰題
軟體設計技能是千古不變的,只要學一套就能用一輩子
軟體設計模式精通之旅課程介紹
這門課旨在讓你在軟體設計方面「徹底變強、並享受變強後的職涯好處」,上完課後便能游刃有餘地把系統做大做精。在這趟旅程中,你將從小的題目開始練起 OOAD 和設計模式,由淺入深不斷地套用設計模式、到了副本四之後就會鼓勵你將所學落地到規模大一些的框架、如:Logging Framework、 IoC Framework 以及 Web Framework。
只要你努力學習,我保證你能在半年內學會如何分析、精準套用設計模式和開發出大型系統(如:Web Framework / Engine),開發完之後還能留下模式語言,來佐證你的設計既合理又充分。這是八成的工程師都做不到的事,甚至許多架構師也未有機會能鍛鍊到類似的能力。
Current Time 0:00
/
Duration Time 0:00
Progress: NaN%
Playback Rate
1.00x
簡介
章節
問答
評價
身為軟體工程師,你是不是一直不敢去想⋯⋯
哪一天,自己才能征服一款複雜的軟體/系統?
軟體工程師缺乏競爭力的四大瓶頸
缺乏架構式思維,分析速度慢
收到複雜需求時,無法從文字快速轉換成程式架構,更無法在短時間察覺到潛在的設計議題,永遠都要先寫程式才知道會發生什麼事。
過度仰賴直覺做設計
遇到複雜問題時,總是在螢幕前發呆好一陣子, 腦海中的想法無法有效進展,過度仰賴直覺套模式、寫程式,無法預測設計成效,導致程式東改西改,過度白工。
無法有效理解/管理大型系統設計
當需求規模大起來之後,光是萬行的程式碼對你來說就已經非常吃力了,思維彈性太差、腦容量根本不夠用,更不用說是理解或是管理數十萬行以上的系統。
公司專案含金量太低
公司每次都指派你去做一些維護型/CRUD型的專案、功能不夠困難、永遠都練不了硬實力, 到底什麼時候才能挑戰自己不曾挑戰過的高複雜度系統?
如果你不在業餘時間挑戰規模更大的事
那麼你的硬實力就會卡住
不要再花一堆時間死命看Code了!
先給自己一段時間去學習軟體設計的底層思路吧
用低效率的認知看待軟體,看再多Code也徒勞
如果你用低效率的認知去看待軟體,那即便你累積大量經驗、在業界經歷再多風風雨雨,這些經驗也難以化為有效的「設計詞彙」來扎深你的「設計思想」
你可能會發現自己不容易講清楚,自己究竟學到了什麼?認識了什麼?新的系統又教會了你什麼?有什麼值得留意的解法?低效率的知識轉換,導致自己無法「觸類旁通」
舉例來說:你不可能把「百科全書」整本硬背下來,而是該從科學開始學起;你不可能把整本英文單字書背下來,而是該好好理解文法和培養語感——如果你想精通複雜軟體的設計技巧,你不可能逼自己把各種 Source Code 看熟,這是非常沒有效率和成效的學習方法。
那該怎麼辦呢?
解法就是換一套高效率的設計思路
然後把這套思路練得像呼吸一樣自然
以至於你能永遠用這套思路理解軟體的組成
這門課要教你一套能落地的高效率通用設計思路
Pattern-Adaptive
Object-Oriented Analysis & Design
看透軟體的本質做出有效決策
軟體 =(行為+結構)→ 需求

式子的兩端:「軟體」和「需求」都是無形的,而這兩者卻定義了在設計程式時的情境 (Context)。若我們不用力釐清 Context,那所有「設計決策」都是空虛且強烈主觀的,導致我們無法自信地講出設計決策中的層層根據,也缺乏有效的思路來討論和佐證每道設計元素的必要性。
Object-Oriented Analysis
無形變有形:OOA結構化分析
收到需求後,接著做物件導向結構化分析。透過「單句句構分析」和「區分結構與行為」兩個關鍵動作,來在短時間內,一但將需求閱讀完畢,便分析出了需求涉及的「領域模型 (Domain Model)」。
Well-Defined Context
精準定義設計情境
對焦需求,從功能性需求和非功能性需求中,察覺Forces,並善用模式語言的思維來精準地定義情境(Well-Defined Context)。在領域模型的結構上,去梳理設計結構「失去生命力」的各組約束條件。
Adaptive Design Pattern
精準套用設計模式
熟悉所學的設計模式,快速從 Well-Defined Context 和其中的 Forces 來推理對應的設計模式。做出有憑有據的設計決策,說服所有人。並在套用設計模式的過程中,善用「依賴反轉之重構三步驟」來精準萃取出抽象,以避免模式在套用上失準。
Adaptive OO Programming
精準物件導向程式設計
參考設計藍圖,以及其中所得到的一版「有生命力」的結構。分工下去做物件導向程式設計,來獲得進一步的設計資訊。在程式設計中繼續察覺 Forces,觀察是否有遺漏的設計難題需要解決。
這堂課適合這樣的你
堅決「不走冤枉路」想要一次學習到位
  • 有基本物件導向概念,想要只買一堂課就徹底發展設計功底和實戰能力的人。
  • 了解設計模式,但無法有效運用在實戰中,即便套了模式仍不知如何解釋,缺乏絕對的準則的人。
「狼性十足」想瘋狂培養職涯競爭力
  • 你職涯狼性十足,想要在短期內大幅培養「軟體實戰競爭力」的工程師。
  • 你想要半年磨一劍,想在高效率思路下,幹其他人幹不了的大型實戰作品,以累積籌碼。
  • 迷戀「知識複利」,並了解「底層思路」對學習效率有大幅幫助的知識份子。
你是「高階技術決策者」需要有說服力的思路
  • 想要靠思維上的硬功夫,來說服所有技術人員:「為什麼這樣子的架構設計絕對是『正確』的」。
  • 你發現自己每次都要好好回想論點,而不懂得讓論點自然形成。
  • 你想要整理某一種 know-how 的架構設計決策文件,讓所有工程師明瞭:「目前的架構是根據哪些設計決策演化而來」。
  • 你想用「模式語言」的思路來繪製 Big Picture 。
真的會有
學習成效嗎!?
這是保證的,為了讓你學有所成
我們花了一年研製最好的設計教材
還提供大量個人化旅程服務
軟體設計模式精通之旅 | 課程設計
23 部精緻教學影片
23部精美設計模式實戰案例影片 每一部都包含:需求、分析、設計、模式重構和程式實作。
軟體設計模式精通之旅 | 課程設計
作業:實戰需求題
課程中有20題以上附有詳細需求的實戰需求題,讓每一位學員能瘋狂鍛鍊新思路,在題目大量特訓後,思路會和喝水一樣容易。
軟體設計模式精通之旅 | 課程設計
每週線上作業批改
每週都會聚集所有學生,在線上做Code Review批改。批改過程會和學員互動,留意每個人展現出的思路並提出具體的建議。
軟體設計模式精通之旅 | 課程設計
技能評級成長系統
給予的成長回饋會被記錄在後台,讓學員能夠無時無刻參考水球提出的成長方針來做出改進。
軟體設計模式精通之旅 | 課程設計
高能量學員社群
所有旅程學員彼此都會認識,並聚集在線上的社群中,在這裡大家可以獲得即時的討論和問題的解答,還開放學員組織公會,鼓勵彼此、一起前進!
軟體設計模式精通之旅的學員
全員贈與專業的 UML 軟體
為了解放所有學員的「設計思路」,專業的工具是必須的!水球為此特地和 Astah 談了合作,Astah 願意給我們大力折扣,於是我們決定送所有學員 Astah UML Editor 的使用 License!
水球潘的軟體設計精通之旅
為了讓更多工程師更能在職涯中享受軟體設計
我們只收專業講座的定價,卻提供保母等級的半年培訓環境,還送你一整套專業工具
我們是 CP 值最高的「軟體設計特訓集地」
總結,這門課有四大學習成效
1.
精熟設計模式SOLID 設計原則,在知識/學術面有足夠底氣。
2.
熟悉快狠準的 OOAD 需求分析、設計、實作思路:
Pattern-Adaptive Object-Oriented Design (PACOOD)
面對任意需求都游刃有餘,分析/設計像呼吸般自然。
3.
用更少的時間、更精準地設計出高品質的大型/高複雜度軟體系統並在模式語言的基礎上,快速理解開放原始碼的設計。
4.
學會善用模式語言的思路,知道如何有效同步團隊成員在設計上的認知,並讓自己的每一步設計決策都富有說服力和根據。
用一趟旅程的時間「徹底變強」
我要變強!立即報名梯次
簡介
章節
問答
評價
關於講師
水球潘
  • 從事軟體程式設計教育七年,長年鑽研軟體設計學,並關注軟體設計學在實務情境中的落地表現。由於在網路上時常分享軟體設計知識,且因為內容口條清晰、深度夠深且思路清楚而被網友評價「想聽軟體設計乾貨就找水球」。
  • 主修 Christopher Alexander 設計模式、軟體架構、分散式系統架構、Clean Architecture、領域驅動設計等領域。
  • 主辦的學院社群在一年內就成長超過 6000 位成員,並在過去的40 多場 Talk 中就有平均93 位觀眾參與。
  • 帶領軟體工程方法論學習組織「GaaS」超過 200多位成員,引領 30 組自組織團隊。
  • 領域驅動設計社群核心志工&講師
關於水球軟體學院
水球軟體學院
為水球所創的全民成長型軟體社群,
被譽為全台最友善且熱鬧的軟體社群。
在過往一年中就創下了
高達 192 場節目數
平均觀眾人數為 72.22