2010-03-04 132 views
4

在我的公司,我必須使用Bll,Dal和模型層來創建帶有數據庫的應用程序。如何使用bll,dal和model?

我在學校瞭解到每個數據庫表都應該是我模型中的一個對象。所以我創建了我的數據庫的整個模型。 另外,我已經瞭解到,對於每個表格(或模型對象),都應該在DAL中創建一個DAO。所以我這樣做。

現在我堅持BLL類。我可以爲每個DAO/ModelObject編寫一個BLLclass,或者我可以編寫一個結合了一些(邏輯)DAO的BLLclass ...或者我可以編寫一個可以管理一切的Bllclass。 (這最後一個我相信它不是最好的方式..)

什麼是處理這個Bll'問題'的最佳實踐?

還有第二個問題。如果一個bll需要從其他表中不需要的tablecontent,那麼獲取內容的最佳方式是什麼?去問責任BLL還是直接去DAO?

我在過去的2個月中一直在努力解決這些問題,我不知道最好的處理方法是什麼。

回答

5

您應該從開始製作應用程序所需的東西開始。

例如:「我需要用戶登錄網頁UI」

  1. 所以,我需要使用一個模型來檢查暱稱和控制器通過
  2. 然後,我需要一個BLL對象做邏輯對於檢查暱稱,並通過
  3. 然後,我需要一個DAL對象來訪問數據庫,檢索用戶信息

如果沒有開始那樣想(從上到下的形式給出),那麼你要編寫一個很多o f代碼是永遠不會被使用的。

注意:如果dal是orm映射或不是軼事。另外如果模型使用bsl或bsl使用模型。恕我直言。

-5

香港專業教育學院在學校,每一個 databasetable應該在 我的模型對象的教訓。

因此,您沒有學習面向對象嗎?遺產?將多個對象類型映射到一個表?只有簡單的「愚蠢」每個表是一個對象?有更多的邏輯方法來映射對象。所有人都有自己不同的好壞方面(即根據具體情況選擇他們,其中包括每個對象的領域數量)。

而且我瞭解到,爲每個表 (或模型對象)應該有一個 DAO創建到DAL。

去學校,要求退錢 - 他們是白癡。生成的DAO很難入手。更糟糕的是每個對象都有一個。配置勝過代碼 - 一個通用的DAO可以處理x個不同的對象,具體取決於配置。很少的代碼來測試和加載。這是如何正確的框架(如Hibernate/NHibernate)。您可以esily編寫一個DAL,其中包含大約六種在操作期間公開的方法,並處理無限數量的對象。在開始時,你告訴每哪個對象它處理以及如何DAL,因此它可以生成正確的SQL等

什麼是處理 這個B11的「問題」的最佳做法?

回到學校,學習基本知識。閱讀O/R映射器。休眠/ NHibernate的(你不命名您使用的langauge)如果BLL是從其他表需要tablecontent 的地方是不是 負責,Toplink的等

,什麼來 的最佳途徑獲得內容?去詢問 負責BLL或直接去 DAO?

取決於體系結構。一般來說,一個商業對象將來自一個工廠,只應該與工廠交談。然後,工廠將處理DAL - 之前和之後做緩存等真正有趣的事情。

閱讀上的Hibernate/NHibernate的。

一本好書也是「Scott Ambler的」古老的「建築物對象應用程序」。

相關問題