錯誤的 COM 觀念(編號:1349)

小吳 不好意思 !
以下是自己有感而發 ,主動貼上一些個人意見,抱歉佔了版面 !
最近看一些人寫的 COM 元件,總是感覺方向不太對,似乎只是傳統寫法
用 ActiveX Dll方式封裝而已 .沒有真正應用到 COM 的精神......
舉例: 他想作一個有關客戶資料的COM元件.....
作法如下:
     宣告一個 NEW A ADODB.RecordSet屬性
     .....
     CN.OPEN
     .....
     RS.OPEN
     .....
   並提供 RS MOVENext
        MoveFirst 等方法供使用者呼叫

他很高興並經測試後無誤 ,表示已完成 N-tier方式設計系統...
   ........

個人看了之後......感覺他只是在設計一個有客戶資料的 ADO 而已,
有COM的外表,也可在COM的環境下執行,但卻不是 COM
因為  COM 的考量在於分散式處理能力及
避免減少網路傳輸

他應改成將 RS 傳回使用者端 由使用者端負責上下筆 IO動作
    COM 若以 StateLess觀念 此元件不應該保留 Recordset
    因為在 MTS中
    可能會因為 元件Pooling或 資源Pooling等其它因素
    或交易狀態中成功與否 會造成 元件消滅
    如此會導致你系統不知如何 Debug

以上是自己的感想,其實最主要是希望有同好架設專門討論 OCX或COM之網站,我會每天丟一些 有關OCX設計及COM實作 之文章上去........
希望此網站能早日誕生......