1樓:匿名使用者
三層不是一種形式,也不是所有情況下都需要用到三層。
業務邏輯層主要是負責業務邏輯的處理,當業務邏輯層變成了只是對資料的傳遞。
那麼這種情況下業務邏輯層也就沒有意義了。
說明在你系統中業務邏輯已經非常簡單了。
那麼去掉業務邏輯層也未嘗不可。
直接在ui成處理這個簡單的業務邏輯。也不會對以後的維護造成多大的影響。
所以該三層的時候就三層,不該三層的時候就去他的三層。
業務邏輯層的真正意義所在就是處理複雜的業務邏輯。如果在業務邏輯簡單的情況下反而增加了一下不必要的麻煩。
對於你後面的補充來說:
1、並不是datatable或者是dataset才是資料。實體類也是資料。
所以返回實體類的工作不應該放在bll中 而是在dal中。
2、業務邏輯層不是保證資料完整性,他的任務只是處理業務邏輯,職能應該單一。
這樣才能保證功能上的重用,而資料上的驗證放在ui層中也未嘗不可。而比如一些驗證方法這些可以放在bll中,而驗證的過程不一定必須要放在bll中。
3、建議你看一下petshop中資料訪問層中的使用。你就會清楚很多
2樓:匿名使用者
其實樓主不要把三層結構搞得多麼神秘一樣。其實沒有什麼的。
就是基本上把方法都封裝在類庫裡面罷了。在你的表示層也就是ui層直接呼叫相應的
方法即可。
一般來說,小程式都沒有用什麼三層結構。就用一層就搞定了。不然是得不償失哈。
只要你用一層的時候把方法封裝得好,那也是一種成功的哈。
如果你用三層架構的時候,一般來說,在邏輯層都是涉及到資料的增、刪、改、等的方法得封裝,
在你的資料層裡,基本是寫的資料庫的鏈結等方法哈。
所以,在表示層也就是ui層,呼叫相關的方法就是哈希望你能明白哈!
個人觀點。僅供參考!
3樓:
比如說,有個業務邏輯要求使用者名為admin的,不允許註冊.
就用到業務層 了.
在 public void setuserinfo(userentity userentity)這個方法內部判斷使用者名稱 是不是符合要求.如果不符合,直接退回,不做資料層操作.
資料層,只是做資料操作而已,你給它什麼,它就幫你做insert,delete,update,select.
資料層不管資料是不是正確的,資料的合理性,和判斷,靠業務層來實現.
所以說,三層架構,體現了"分工的分解"的思想.
你說的"那業務層不就什麼都沒做了哈 只是乙個過度",是乙個極端的情況:業務層不做判斷時,就會有:"過渡"的感覺.
4樓:叢林守護者
就以你這個例子,
userinfo(userid,username,gender,identityno)
使用者資訊 主鍵 姓名 性別 身份證號業務層:
如果姓名輸入 % * @ 之類的特殊字元,是不是該過濾掉呢?
身份證號在非最後一位出現了字母,這也是不合法的。
當然你可能使用驗證控制項來遮蔽這些非法輸入。
關於架構,你不需要太了解,這個不是底層開發人員的事。
5樓:
單一的單表的增刪改查操作,看似業務層沒有什麼用,但是如果牽扯到複雜的邏輯,就有用處了,比如說,你需要在業務邏輯層去選擇,需要執行那乙個資料訪問層的東西,或者是根據資料訪問層執行後的結果來判斷到底需要**那個頁面顯示等等.
其實,你說的"過度",本來就是乙個業務的體現
6樓:我已成仙
就拿登入來說吧 在介面頁面獲得使用者名稱和密碼 傳入到業務層 業務層負責查詢資料庫 在得到資料的同時 業務層要負責判斷輸入的使用者名稱和密碼是否正確 然後將判斷結果 返回到介面頁 介面頁就只負責 顯示結果
7樓:天才的機場
就你這個三層結構而言,業務層是沒做啥,就乙個過渡的功能,我想這是你乙個人寫的,而當今的軟體行業基本是分工合作,這樣做的目的就是乙個團隊在做開發時候,人人完成專案中的部分功能,而別人在使用你寫的**時能夠更清楚,其效率更高,而且對於後期的維護有幫助。
利用c#語言,呼叫儲存過程,使用三層架構實現,然後再ui層點選按鈕就能重新整理?
8樓:匿名使用者
說個大致思路, 按鈕點選以後觸發 後台點選事件(也可以使用ajax提交)。後台事件中呼叫bll(業務邏輯層的**進行一系列操作),然後呼叫dal層中的方法或者事件。dal層中通過ado.
net 連線資料庫執行儲存過程。
c#中的三層
9樓:匿名使用者
這個...我剛接觸的時候也不是很明了,但是時間久了你就發現物件導向的特點之一「封裝」可以解釋這一切,說白了方法呼叫和類的呼叫都一樣,只不過語法不同,空間不同,三層構架很基礎了,如果你清楚三層構架每一層的功能就好辦了,寫在乙個類檔案裡和兩個類檔案裡也沒什麼不同,別想複雜了,無非是呼叫時語法有點小變化。我是第二次學習的時候才理解這些的,剛開始難免混混的,整理一下思路,重新理順關係從根本上理解,切記要吃透每個知識點!
c#在開發中,工廠模式在三層裡怎麼用的
10樓:緵末fy傺
簡化考慮就兩層,表現層和領域邏輯層,後者再分化出資料持久化層,也就是三層。工廠模式可以用在領域邏輯層,似乎沒有工廠層的說法。
c#在開發中,工廠模式在三層裡怎麼用的?
11樓:牽驪
簡化考慮就兩層,表現層和領域邏輯層,後者再分化出資料持久化層,也就是三層。
工廠模式可以用在領域邏輯層,似乎沒有工廠層的說法。
12樓:冬天之雪
樓主想要做設計的話,可以看看面向服務,wcf
用C語言編寫程式,用C語言編寫三個程式
第一題 include include include include void fun char str,char c intmain void fun char str,char c 第三題 include include define n 4 typedef structshu intmain...
用c語言編寫12320?的程式,用C語言編寫1!2!3!20!?的程式
include int fun int int main printf d n sum 輸出算式結果return 0 int fun int i 階乘函式 採用函式遞迴呼叫return 1 include void main printf d n sum include include long l...
用c語言列印,用c語言列印1 100的數 每打10個數換行
具體的 如下 include int main void int i for i 1 i 100 i printf d i if i 10 0 printf n return 0 主要就是應用for迴圈來列印數字,然後用選擇語句,當列印了十個數字就換行。c語言入門 3.接下來,我們又點 檔案 選擇新...