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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三层架构秘籍

發布時間:2024/1/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三层架构秘籍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

? ? ? ? 關于三層架構,你想知道的,都在這里。


目錄

一、什么是三層架構

二、三層架構如何聯系在一起

三、為什么要使用三層架構

四、三層架構與兩層的區別


一、什么是三層架構

? ? ? ?定義:

UI(表現層):?主要是指與用戶交互的界面。用于接收用戶輸入的數據和顯示處理后用戶需要的數據。

BLL:(業務邏輯層):?UI層和DAL層之間的橋梁。實現業務邏輯。業務邏輯具體包含:驗證、計算、業務規則等等。

DAL:(數據訪問層):?與數據庫打交道。主要實現對數據的增、刪、改、查。將存儲在數據庫中的數據提交給業務層,同時將業務層處理的數據保存到數據庫。(當然這些操作都是基于UI層的。用戶的需求反映給界面(UI),UI反映給BLL,BLL反映給DAL,DAL進行數據的操作,操作后再一一返回,直到將用戶所需數據反饋給用戶)

二、三層架構如何聯系在一起

? ? ? ? 經典用一個廚師案例輔助理解

? ? ? ?當你某天去飯店吃飯,服務員拿到你們的菜單,菜單要求青椒炒肉,趕巧店里沒有青椒了,那么此時采購員就發揮作用了,采購員出去買青椒,交給廚師,廚師做好菜,交給服務員,服務員將菜端給我們,這就是完成了一個流程。如果當客人對菜有要求,比如說青椒炒肉我要朝五花肉,那你是不是的更新一下菜單,那么這個菜單就可以是我們的實體類,通過實體類的參數傳遞完成對客人要求的滿足,因為客人不可能每個人都吃一樣的口味,有的人要辣,有的人要甜,就是這個道理。

?實體類層(Entity):它不屬于三層中的任何一層,但是它是必不可少的一層。

? ? ? ? 實體類層主要作用就是將生活中的常見事物封裝稱為一個類,那么我要用的時候,調用他的屬性即可。

? ? ? ? 實體類在三層之間做一個傳遞數據的作用,比如我買一件衣服,這件衣服的價格,尺寸,材料等等都給我封裝到衣服類中,我要看的時候我在UI界面能看到,搜索相關條件能搜到,并且能夠購買,數據庫那邊也有一一對應的字段,我的一個類就可以看做是數據庫中的表。

? ? ? ? 三層之間的聯系主要還是看他們之間的引用,例如我們買衣服,我們在網上買衣服是不是只關心,衣服好不好看,便宜不,尺寸合身不,等等,不會去關心我買衣服是怎么操作的,以及數據是怎么來的,那么當我發送了搜尋衣服,比如搜一件男裝冬天,那么請求就會發送得到業務邏輯層,邏輯層去處理我的請求,把請求發送到數據庫,數據訪問層找到衣服,返回衣服,衣服返回到業務邏輯層,邏輯層再做他相應的處理之后,就到了我們的電腦屏幕前面。這就是整個三層架構的聯系過程,且這三者是互不干擾,存數據的只存數據,包裝的就只做包裝,就像工廠流水線一樣,這樣效率才高。

三、為什么要使用三層架構

? ? ? ? 其主要目的就是解耦,讓三層之間的業務關系耦合度降低,每一層就只做自己的事情,提高效率,且就算你有一層的東西發生了變化,也不會影響整個系統的邏輯。

? ? ? ? 就比如說,廚師辭職,只要他會做菜,那老板也不用擔心,服務員換掉,也無關緊要,無非就是這個廚師做菜和那個口味可能有些許不同。

? ? ? ? 當你的項目比較大,且涉及到后期的新功能添加或者后期的維護,那么三層架構不失為你的好選擇。

四、三層架構與兩層的區別

? ? ? ? 在開發中,三層架構代碼寫起來代碼量也是相當大的,那么可不可以不要中間的處理層,我直接UI與數據庫進行交互呢?答案當然是可以的。

? ? ? ??兩層架構一般用在小的項目,不需要后續的維護,或者說更新其他的功能的項目,直接與數據庫交互就好,簡化代碼量。缺點就是如果某個大項目有地方需要維護,由于沒有進行分層,那維護成本是相當高的。

? ? ? ? 三層:發生在哪一層的變化,只需更改該層,不需要更改整個系統。層次清晰,分工明確,每層之間耦合度低——提高了效率,適應需求變化,可維護性高,可擴展性高

? ? ? ? 那么很明顯,三層架構的優勢在于:

? ? ? ? 1,耦合性較低,后期維護成本低。

?? ?? ? 2,利于后期維護和增加新功能。

? ? ? ? 三層架構的劣勢很明顯:

? ? ? ? 1.增加了代碼量和工作量,

? ? ? ? 2.可能導致級聯的修改,在三層架構中,由于我們的業務邏輯是分層來做的,那么我們添加一個功能的時候,可能會涉及到修改三層中各級的功能。

? ? ? ? ?3.降低了系統的性能,因為我們不僅有操作層,才能進入數據庫,如果直接繞過操作層,直接進入數據庫,那么性能確實會更高。

秘籍全都交給你了,還不快去學習

????????

總結

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

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