2008年2月23日 星期六

[政大課程] 200802 WinForm教學

前言:是計中的同仁開的課程,算是以開發新的校務系統所用的技術架構為例,
一方面算是學自己不會的技術,一方面也了解校務系統的開發模式與流程,
在講課中藉由同仁的提問,也可以體會到設計一套大系統所需要做的前置規劃,
這大概是以前比較少會注意到的細節...@@a
加入新功能系統所需要做最少的更動
各元件獨立開發的便利性
錯誤訊息分別給程式開發員與使用者看的區別
減少組件改寫需要付出的代價(重編、發佈)

主要用的架構是 .Net Remoting,以資料庫連結為例,所有功能會用到連DB的,
都會通過一個共同的連線組件。那麼意味著以後連接組件部份有改寫,
只要重寫這一塊就好,因為其他項目功能連接都是透過這一塊不需變更。

細節筆記:

.Net a)CommonLib b)UserControl

在 Host (主控台)上用最基礎的訊息要求服務 SendMessage() Service 來做溝通,
參數指定(who, do what, how para1, how para2),回傳成功否。
(只是訊息傳送,非 Event 事件)

ex how1: SQL Command、how2: 回傳資料

(.dll)功能組件,有三種
1. .Class : 寫功能
2. UC : 有介面的元件
3. WinForm: BasrDlg(Dialog)
(只有 UC 需要手動 dispose )

BaseForm: dispatch()派遣
functionPro: 功能列表 //列於資料庫,可查詢及觀看函式詳細資訊
.codetxt 轉換對應
組件直接 new 完註冊(給host),比用 sendmesg 的寫法來的簡潔快速

組件的 ColumnGroup 意義上形同多了 where 功能

常出現的 DBerror 存到 local cache(避免打死結)

新寫好一個功能,將 dll發佈到跟 TestApp 同一個目錄,即可測試!

心得:整體上課感覺很不賴,針對組件仔細去計較那些架構設計的夠不夠人性化、
有沒有彈性,多寫一個需要copy&paste需要量,可以在精簡嗎?
乍看之下是程式設計師的思緒該做的考量,不過大概也是科技(程式的高階)
才能讓懶人做的如此徹底(笑)!

#延伸閱讀

分散式系統架構 .Net Remoting介紹

.Net Remoting介紹
探討生命週期跟效能

沒有留言: