自從微軟推出 .NET Framework 以來,最了不起的創見,莫過於 DataSet 了。它可以說是橋接 UI 展示層與資料來源層的最佳機制。 利用 DataSet,可以實作虛擬化的資料庫於中間層(Middleware),呈現二維的關連資料庫供 UI 或企業物件等的操作存取。
而最近如此熱門的 LINQ 呢?
它是連結異質資料來源的最佳框架! 可以這麼說,微軟在企業層級的耕耘,其企圖心已昭然若揭:
利用一致性(當然是微軟自己訂的)的存取語言 (Language INtegrated Query),封裝了實際連結各種異質的資料來源。
所以,透過 LINQ,你不用再去煩惱如何整合異質的資料來源,微軟會幫妳做到! 存取之後的結果,就是放到 DataSet,供 Client 存取;再則,再透過微軟另一個也是相當了不起的機制— UI Data-Binding(資料繫結),所以如 DataGridView 元件,當設定繫結了如 DataSet 之後,無論任何一端的資料變動,如資料輸入或資料來源的變更,Binding 機制均會作同步更新。
但是,廠商提供了這麼好的機制框架,它仍算是工具。企業層級的系統開發,主要仍取決於軟體開發者的設計觀,要能讓系統有所謂的彈性、延展性與再利用性,是不可能被工具給綁架駕馭的,系統是可以生生不息的,甚至爾後當微軟又推出更 Fashion 的 LINQ-II,系統的主結構仍不會被這些枝幹的汰換而嚴重衝擊的。
坊間的 LINQ 書籍,包括絕大部分的原文書,都是將 LINQ 當成如 SQL 語法一般來教導說明。那是一種工具上的說明指引,但並不會企業層級系統的設計規範。 所以,這些工具書籍不會跟妳說, UI 元件 → Form → LINQ → DataSource,這仍是換湯不換藥的 Client/Server 思維。把 Form 當成 Controller 是有問題的,是與系統設計的上述三理念違背衝突的。
本單元課程,旨在傳授,如何活用 LINQ 等機制,以設計企業層級的具彈性、延展性、再利用性的系統。除了架構的設計原則,同時我們也準備了大量的設計實例(含原始程式碼),一步一步地,從基礎導引,到整個系統的串連實現。 所以學員們上完課後,可以將這些範例當成範本,並用之於現實的工作實務上,相當地實用。 至於 LINQ 細節上的語法存取等,那是可以透過工具書,或者線上 MSDN 就可以查詢的。 我們的課程與坊間的 LINQ 工具書籍,可以達成很好的互補— 作對的事情,以及把事情做好!
※※ 課程期間,附完全免費的 午餐(含素食)、小蜜蜂咖啡、下午茶點、美味的吊鐘燒與餅乾甜點等。品味咖啡的同時,學習軟體設計思維,那會是一件令人相當愉悅的快樂學習之旅。
—————————————————— 課程說明 ————————————
§ 上課報名資訊
§ 課程大綱
※ LINQ Overview
o 什麼是 LINQ?
o 使用 LINQ 的目的
- 一致性的存取語法連結異質的資料來源
o LINQ 在企業(Enterprise)層級系統的角色與定位
- 建議的 3-tier 分層架構設計
- UI,Control,Business Object(Entity),DAO,Data-Source
- 說明每一層(Layer)的主要元件及其責任歸屬
o 基礎的暖身— 簡單的 LINQ 程式碼實例說明
※ LINQ Step by Step (程式碼實作步驟詳述)
o LINQ 基礎語法說明
o 利用 Visual C# Express 2008 開發 LINQ 專案
o LINQ 連結異質資料源(Data Source)
- LINQ → 資料庫(RDB)
- LINQ → 檔案(File)
- LINQ → Web Service
o LINQ 的回傳標的(Target)
- LINQ to DataSet/XML
- LINQ to Object Model(Business Object)
※ UI 展示層與 LINQ 關係探討
o UI 元件的 Data-Binding(資料繫結) 研究
o 說明 UI 層的設計原則
- 企業邏輯(Business Logic)獨立於 UI 的展示
- 企業邏輯與資料存取均透過控制物件的存取
- UI 元件 Binding DataSet(from Controller) 的設計
o 實作範例—
- ASP.NET/Windows Form 同時連結控制物件
- 實作 UI DataGridView 元件繫結(Binding) DataSet
- 同步更新展示層與企業邏輯層的資料輸入與資料源
※ Case Study (完整案例研究)
o 案例說明與需求分析— 利用使用案例圖與敘述
o 結構分析— 利用類別圖分析領域物件與資料模型
o 物件合作— 利用循序圖表達動態期間物件的互動
o 程式碼實作
- UI → 控制物件(Controller)
- 控制物件 → DAO(by LINQ 實作)
- DAO(LINQ) → 資料來源(資料庫 or WebService)
- DAO(LINQ) to DataSet or Business Object
※ 課程回顧複習、問題提問與討論。
—————————————
§課程諮詢(HSDc. 軟體設計專業顧問團隊):
o 諮詢專線:TEL: 02-27227179
o 服務信箱:service.hsdc@gmail.com
Hello AlanPu:
能持續學習,肯定是對自己有助益的。 ^^
沒辦法,景氣不好只好多進修了哦
Hello AlanPu:
您可真有心呢,都已經進修課程排到農曆年後囉 ^^
如果能晚一個星期就可以去了,跟其他課程衝到