明年度關於 HSDc. 所開設之「設計模式 (Design Patterns)」課程,已確定與資策會數位教育研究所合作。招生與場地 (均為電腦教室可上機操作)由資策會負責;課程內容 (包括課程大綱與教材製作)與講師由 HSDc. 負責。
課程時間初步規劃為 30 小時,分為 3個星期 (兩週星期六、日,最後一週為星期六)教授完畢。整年度會開設四次課程,C#.NET 與 Java 各兩次輪流開設,也就是約一季開設乙次。第一次課程預計為 3/18-3/19、3/25-3/26、4/9(日),相關課程時程與報名資訊屆時均會同步公佈於 FB社團:軟體設計鮮思維。
與原來 HSDc 所規劃的設計模式課程內容,有作過一些調整:
- 增加物件與軟體設計基礎觀念介紹。
- 增加對設計模式的結構框架說明。
- 將 GoF 23 個設計模式分為數個性質相近的主題,每一個主題作系統性的說明。
課程簡介
.NET&Java 所提出 Web MVC (Model-View-Control) 係為 Web 端的解決方案,但並非對整個 Enterprise 系統架構的 MVC 方案-如何設計 具高度彈性具延展性的結構,來解決多變複雜 (包括實體系統的變動與業務邏輯的頻繁變更)的議題。
回歸到軟體人員應具有的基礎功-軟性的設計能力。而這能力的培養,並非由現實對 Web, 資料庫等存取實務技術就可以理解;而是需要研讀大量設計性書籍並具獨立思考的能力,方能設計出某個解決方案 (solution) 的結構並應用於實務系統的運作上。
的確,從無到有或沒有方向的摸索是相當不容易的,所以我們會期望能借重軟體先輩們的智慧結晶與設計法則 (Design Patterns),解決現實設計所面臨的困境與難題;甚而更進一步,能進而活用與創造出所屬自己與團隊的 "設計模式"!
四人幫 (GoF, Gang of Four) 著作的「設計模式 (Design Patterns)」,可以說是軟體領域的孫子兵法。書中介紹的 23 個設計模式,已被大量運用在系統框架(Framework)及應用領域上;不過該書其實艱奧難懂,如同金庸小說中的「九陰真經」上卷一般,充斥的儘是心法,若沒有真經下卷功法的實務修練,是極難打通任督二脈的。
本課程講師群係累積了10數年在軟體設計領域上持續研究學習 (大量研讀名家著作/論文)以及實務的經驗 (大型系統開發、顧問/授課輔導、產品開發...),期能以所累積的心得與實務,並配合現實的實務技術,把每一個設計模式,寫成淺顯易懂的案例,讓有志於從事軟體設計業的學員們,可以理解設計模式所揭露的目的與意義,更能應用在現實的工作專案上。
課程目的
o 採 "問題-解決方案(Problem-Solution)" 的方式,說明每一個設計模式的設計目的與應用。
o 所有設計模式案例 (共23個)均有 C#.NET 程式碼可執行,並透過 ASP.NET Web MVC 畫面 來呈現執行的結果。
o 採用 UML 塑模,完整表達每一個案例的類別圖結構設計,以及物件合作循序圖。
o 課程過程中會帶領學員,把學習與作業成果,利用 GitHub 版控與重構程式碼。
課程大綱
Topic | Subject | Content |
---|---|---|
1 | 基礎概觀 |
|
2 |
Structural Pattern - 1 封裝的設計應用 |
o Facade Pattern o Proxy Pattern o Adapter Pattern |
3 |
Behavior Pattern - 1 行為的分割與組裝 |
o Strategy Pattern o State Pattern o Command Pattern |
4 |
Creational Pattern - 1 製造工廠 |
o Abstract Factory o Factory Method o Singleton |
5 |
Structural Pattern - 2 結構的拆解與組合 |
o Composite Structure o Bridge o Decorator o Flyweight |
6 |
Creational Pattern - 2 建立物件與結構 |
o Builder o Prototype |
7 |
Behavior Pattern - 2 行為的擴充與合作 |
o Chain of Responsibility o Memento o Observer o Mediator o Interpreter |
8 |
Behavior Pattern -3 其他的行為模式 |
o Template Method o Iterator o Visitor |