【單元課程】活用 .NET LINQ 架構設計與源碼實作(2009/03/21,22,28, 18Hrs)

自從微軟推出 .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

文章導覽

   

共有 4 則迴響

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *