日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

三层结构

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三层结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
“三層結構”是“外觀層”、“商業邏輯層”、“數據庫層”

假設以這樣的結構制作一個留言板,那么應該是:

??? # 留言板頁面的外觀代碼都存放在 .aspx 文件中

??? # 當用戶點擊頁面上的提交按鈕時,先將文本信息傳遞給一個 LeaveWord 類對象

??? (LeaveWord 類的定義被封裝到“商業邏輯層”)

??? # 之后讓這個對象執行 Post() 將留言信息發送到數據庫


用一個簡單的代碼就是:

??? <textarea id="Content" runat?="server"></textarea>
??? <input type="button" id="Post" runat?="server" />

??? // ----------------------------------------
??? // 在外觀層,當用戶點擊發送按鈕后
??? // ----------------------------------------
??? private void Post_ServerClick(object sender, EventArgs e)
??? {
??????? LeaveWord lword=new LeaveWord();
??????? lword.Content=Content.Value;
??????? lword.Post();
??? }

??? // ----------------------------------------
??? // 在商業邏輯層,定義 LeaveWord 類
??? // ----------------------------------------
??? public class LeaveWord
??? {
??????? public string Content;

??????? public void Post()
??????? {
??????????? new LWordData().Post(this.Content);
??????? }
??? }

??? // ----------------------------------------
??? // 數據庫層,定義發送方法
??? // ----------------------------------------
??? public class LWordData
??? {
??????? public void Post(string content)
??????? {
??????????? // 打開數據庫,將 content 插入到表中
??????? }
??? }

這樣,外觀層就不必費心數據庫操作了...


理解基本正確.但是數據層已經只是數據庫的操作,不應該和業務有任何關系,你可以參考SqlHelper.cs
提醒一點,系統的"層"是對代碼的一種邏輯劃分,并不是一定要三層,假設你的系統很簡單,就一個頁面,那一層就可以,如果系統很復雜,也可能是n層.
差不離了,核心就是外層絕對不會涉及任何數據處理,他的任務是設置界面,獲取數據,輸出數據
業務層最重要,所有數據處理在這里,如何運用外層提供的數據處理業務
數據庫層一般都建議調用存儲過程,返回數據集或其他所需數據;.net的那兩個例子很好,多學習一下.
一個原則:
上層調下層
上層對下層是不可見的
設計時,表現層只調用邏輯層,表現層主要是取得頁面的數據傳到邏輯層,和把從邏輯層得到的數據顯示到頁面上。
邏輯層負責把數據加工整理傳到數據層和把從數據層取得的數據加工
數據層就只負責把數據對數據庫操作

業務邏輯層 就是給上層和下層下達命令和調節行為的中間層,這樣說易于理解一點了吧?

?

總結

以上是生活随笔為你收集整理的三层结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。