用C語言開發用三層遇到的疑惑,利用C 語言,呼叫儲存過程,使用三層架構實現,然後再UI層點選按鈕就能重新整理?

2022-06-03 18:10:03 字數 2904 閱讀 5134

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.接下來,我們又點 檔案 選擇新...