教育訓練第一階段課程大綱 - 備課資料

精通.NET MVC的本質與開發架構

·        1.強化C#物件導向設計基礎觀念(C# OOP Basic Concept(封裝、繼承、多型))
·        2.說明甚麼是.NET FrameworkBCLCLR? 甚麼叫擴充函式庫?
·        3.事件Event驅動和Delegate(委派)的最主要用途是甚麼?
·        4.詳解LinQ技術、Lambda語法及語法樹Expression Tree觀念
·        5.進階物件導向設計(深入探討IoCDIAOP)
·        6.MVC, Design Pattern是甚麼你現在用的是哪一種設計模式甚麼是反模式?
·        7.Web API
·        8.Entity Framework

每堂課兩小時,以下為課程的備課資料:

1. 強化C#物件導向設計基礎觀念(C# OOP Basic Concept(封裝、繼承、多型))
I. 型別、變數和值
II. 封裝、繼承多型
III. C# 關鍵字
IV. 微軟官方教學文件:
i. Microsoft C# 指南 https://docs.microsoft.com/zh-tw/dotnet/csharp/
ii. C# 語言參考:https://docs.microsoft.com/zh-tw/dotnet/csharp/language-reference/


2. 說明甚麼是.NET Framework的BCL和CLR? 甚麼叫擴充函式庫?
I. .NET Framework概觀
I. CLR執行環境
II. BCL是.NET Framework基礎類別庫
III. 透過C#擴展方法使您可以向現有類型添加方法,而無需創建新的派生類型,重新編譯或以其他方式修改原始類型。 C#擴展方法是一種特殊的靜態方法,它被稱為擴展類型的實例方法。

微軟官方教學文件及維基百科:


3. 事件Event驅動和Delegate(委派)的最主要用途是甚麼?
I. Delegate
II. Event
參考資料:https://eric0806.blogspot.com/2015/01/dotnet-delegate-usage.html


4. 詳解LinQ技術、Lambda語法及語法樹Expression Tree觀念
I. Lambda
II. 泛型類型
III. LinQlinq
IV. Expression Tree


5. 進階物件導向設計(深入探討IoC、DI、AOP)
I. 名詞介紹:DIP依賴倒置原則(Dependency-Inversion Principle)、
IoC控制反轉(Inversion of Control)、DI依賴注入(Dependency Injection)
i. 深入理解DIP、IoC、DI以及IoC容器
II. AOP
i. 術語與觀念
ii. AOP維基
iii. 利用C#實現AOP常見的幾種方法詳解(靜態、動態、3種方式)
iv. 介紹.NET Framework提供的兩個AOP類別: RealProxyMarshalByRefObject(延伸ContextBoundObject其他參考12)


6. MVC, Design Pattern是甚麼? 你現在用的是哪一種設計模式? 甚麼是反模式?
I. 談到.NET MVC不如先聊聊Architectural Pattern(軟體架構模式/模型)觀念
II. Design Pattern(軟體設計模式)觀念:
重要觀念(念他的前兩段)維基百科
III. 關於各種GoF設計模式的介紹文章:GoF 的23種DP相關文章1
IV. 若當今物件導向程式設計奉GoF Design Pattern為圭臬,則SOLID原則就是設計品質的度量衡工具
V. 什麼是反模式?
Design pattern 告訴我們軟體工程中解決問題的正確方法,而AntiPattern則是告訴我們錯誤的方法。
維基百科
其他例子:軟體測試的反模式

 《本講次有簡報檔可下載-GitHub


7. WebAPI
I. 理解WebAPI的 HttpMessageHandler

《本講次有簡報檔可下載-GitHub


請閱讀前一篇: 網站應用程式開發人員進修教育訓練課程規劃大綱

留言

  1. 昨天上完前六講了,怎麼感覺是講的人自己學最多啊~ 這樣應該要常常講才對!

    回覆刪除

張貼留言

這個網誌中的熱門文章

揭開 C#.NET 官方原始碼 System.Func、System.Action、System.Delegate 及 delegate 關鍵字背後的技術面紗

從Lambda語法來探討.NET LINQ的技術底蘊到底在哪裡?

C# 物件屬性的建構賦值與初始化 - C# constructor and object initializer