傳參數與傳實體、返回實體與返表——三層架構登入執行個體

來源:互聯網
上載者:User

標籤:style   blog   http   ar   color   使用   sp   on   資料   

       用三層做視窗登入執行個體,與曾經做的《機房收費系統》相比,除了引入分層的理念外,最大的改觀就是資料的傳遞由傳參升級成了傳實體,而查詢資料庫的返回結果也有了返回實體與返表的選擇

傳參數與傳實體

       視窗登入執行個體的的UI層是接收使用者操作的最外層,資料經它轉交給BLL層,如今先看下我們用以往傳參數的方式,來編寫的登入buttonclick事件

 

       通過參數傳遞乍看起來清晰易讀,可是這種程式耦合度太高,會為以後的資料變動和維護埋下隱患。比如,須要傳遞的資料添加了一個ID,user=mgr.SelectUserLogin(userName,password)行代碼就要修改一次,如果再添加一個Level呢?難道需求每變動一次,就要修改一次代碼嗎?如今須要傳遞的參數才幾個,如果做大一點的系統,面對十幾二十個參數,每一個用到它的地方都要改,這樣不累也會被煩死的。

       為瞭解決問題,實體物件應運而生,它把這些變化都封裝到了一個類中,範例修改例如以下

       傳實體的方式非常好的攻克了這種安全隱患,所以在三層架構中儘管各個層次的程式集僅僅是引用實體,可是它的作用不可小覷。

返回實體與返回DataTable

       在上邊我們使用了傳實體的方式來避免傳參數帶來的安全隱患,那麼資料到達最底層DAL後將以什麼形式返回呢?在這裡又出現了兩種方式:返回實體or返回表,以下是返回實體的情況

       DAL層須要對資料庫進行查詢和讀取操作,上述範例在DAL層用了返回實體的方式來擷取資料處理的結果。在這裡實體的來源是DataTable進行屬性的反射後得到的,但反射本身並不高效。使用實體,是為了符合分層規範而且能夠使程式更加的物件導向,而DataTable效能好且更靈活,所以對於擷取的資料量不大而且不須要對資料做太多處理的情況,返回實體應該是比較好的選擇,反之則用DataTable。
 

傳參數與傳實體、返回實體與返表——三層架構登入執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.