2015/03/08

現在是開發兩層還是三層?

dbExpress的開發畫面大概是這個樣子:
 

DataSnap的開發畫面大概是這個樣子:
Server端設計畫面
Client端設計畫面

好像有點一樣,又好像有點不一樣。
如果dbExpress改一下,就變成下面的畫面:
增加建立一個DataModule放dbExpress元件

ClientDataSet還在原來的位置,只是ProviderName會是DataModule.DataSetProvider1
相較之下,dbExpress好像只差了一個TDCOMConnection元件外,和DataSnap長相簡直一模一樣。

也難怪dbExpress要被人說閒話了,這複雜難用的神馬東西。

說易用沒有BDE來得自動化:TQuery + TUpdateSQL,BDE小小調整一下,收工。
說功能沒有ADO來得全面:光是ADOConnection的Properties內容就可以談上十餘頁A4紙;ADOQuery幾乎把BDE元件所有功能包完。

反觀dbExpress,Driver Params就只有幾項,光產出的元件就比BDE多,程式的所有細節居然還全都要人工硬嗑,就算不寫程式碼,需要看的資料也絕對不下於ADO。

那dbExpress的架構到底是什麼?Borland開發這個是拿磚頭砸自己的腳嗎?(是的,它是)


用到現在,我終於參悟了dbExpress到底是什麼,算得上是三層嗎?



如果只能用一句話來描述dbExpress的層數,那我想我會說:





「兩層以上,三層未滿」(友達以上,戀人未滿)


沒有留言:

張貼留言