C++ 物件導向與設計模式基礎班

C++ 物件導向與設計模式基礎班

C++ 是有物件導向 (Object-Oriented) 特性的程式語言裡最熱門而常見的語言之一。尤其當軟體需要很好的執行效率或與硬體溝通互動時,C++ 可說一直都是最好的選擇。現今大部分複雜的軟體系統也多是使用 C++ 實作,不論是作業系統 (OS)、資料庫管理系統 (DBMS) 與交易系統,都是以使用 C++ 語言為大宗。而中大型軟體開發所需的物件導向概念也成為一般公司對軟體工程師的基本要求。

物件導向 (Object-Oriented) 是什麼?物件導向怎麼在大型軟體的開發過程中協助我們進行設計?使用物件導向會有什麼好處?如何在 C++ 裡面實現物件導向的各種概念?我們將透過一些簡單的應用例子,從程式碼撰寫與實際操作中,帶大家了解過去數十年來軟體工程師所累積的經驗統整而成的各種物件導向使用的設計模式 (Design Pattern) ,跟專家學習怎麼做好的軟體架構設計。讓我們不僅在與人合作或使用現成套件時可以更快進入狀況,也可以把自己的程式寫得更乾淨、更有彈性與擴展性。

課程大綱

類別 (class) 與方法 (method)
繼承 (inheritance) 與多型 (polymorphism)
物件導向的設計原則 (OO design principles) : SOLID 簡介
設計模式 (design pattern) 簡介
常見於 C++ 標準庫或一般使用情境的設計模式介紹
- Builder, Factory, Prototype, Singleton, Adaptor, Composite, Flyweight, Proxy, Decorator, Chain of Responsibility, Iterator, Command, Memento, Observer, Strategy, State, Visitor 等等

適合對象

修習過 C++ 進階程式設計或有使用 C++ 類別 (class) 語法的經驗
想加強自己對 C++ 的了解
想了解物件導向的概念與用途
想了解設計模式的概念與用途

開發環境

Dev C++、Code::Blocks、Visual Studio 等支援 C++ 編譯的環境都可以

近期班次

講師介紹

(一) 學歷

國立臺灣大學資訊工程學博士學位

國立臺灣大學資訊工程學碩士學位

國立臺灣大學資訊工程學學士學位

(二) 經歷

1.雷亞遊戲技術總監

參與《聚爆 (Implosion)》開發與負責《伊甸之魂 (Soul of Eden)》的主程式

2.長期從事程式教育

有十五年以上課堂教學經驗,開設過百次以上程式設計和網站實作課程

於本訓練班授課時數累計至2021年6月30日為3,591小時

3.自由接案者

有二十五年以上程式設計及二十年以上網站接案經驗,參與過數十個專案開發

4.經營 Youtube 頻道

https://www.youtube.com/c/KenYiLee

(三) 相關榮譽

國立臺灣大學資訊工程系優良助教獎

國立臺灣大學書卷獎

全國高中資訊能力競試決賽入選

(四) 專長

程式語言: C, C++, C#, Java, Python, PHP, JavaScript, Golang, Perl, Lua 等

開發框架: .Net framework, Laravel, Qt, jQuery, React, OpenCV, Tensorflow

網頁技術: HTML5, CSS3, SQL, Flash 等

遊戲開發引擎: Unity