三層架構簡單案例分析

2021-06-01 23:39:45 字數 1561 閱讀 1601

最近在網上找了一些資料學習三層架構的知識,初學者就像我來說理解那些抽象的道理還是很困難的,其實不妨用乙個小例子來好好地分析一下

首先,我們需要明白的是三層架構的劃分原理:(如下圖所示)

各個層的任務

資料訪問層:為資料庫中的每個表,設計乙個資料訪問類,類中實現:記錄的插入、刪除、單條記錄的查詢、記錄集的查詢,單條記錄的有無判斷等基本的資料庫操作方法。對於一般的管理資訊軟體,此層的設計時類似的,包含的方法也是基本相同,此層的任務是:封裝每個資料表的基本操作,為實現業務邏輯提供資料庫訪問的基礎。

介面層:根據使用者的具體需求,為每個功能模組,部署輸入控制項,操作控制項和輸出控制項,並呼叫業務邏輯層中類的方法實現功能。

層和層之間的呼叫關係:

資料訪問層的類,直接訪問資料庫,實現基本記錄操作。

業務邏輯層的類,呼叫相關的資料訪問類,實現使用者所需功能。

介面層部署控制項之後,呼叫業務邏輯層的類,實現功能。

說了這麼多,先看看乙個簡單的小例子吧。

下面是乙個學生資訊管理系統中課程新增的乙個小功能。

資料訪問層的方法設計

一般為系統資料庫中的每個表設計乙個資料訪問類,實現基本的記錄操作。為了實現課程記錄的新增,目前,可以在資料訪問類中包含下面的方法:

1、  判斷某主鍵的記錄是否存在

方法名:exist

形參:代表主鍵的變數

返回值:bool

2、  課程的新增

方法名:addcourse

形參:代表此表實體類的物件

返回值:int

業務邏輯層的方法設計

一般系統中的某個功能模組設計乙個業務邏輯層的類,實現此模組的所有業務邏輯,在課程新增中,我們所需要的業務邏輯是位課程新增。

首先,需要呼叫資料訪問類的方法,因此,在類內設計乙個欄位為此類物件

其次,此類需要設計下面的方法:

1、  新增課程:

方法名:addcourse1

形參:課程類物件

返回值:void

首先是呼叫資料訪問層中的exist()方法,判斷形參所表示的課程類物件是否存在,若存在方法返回。

接著呼叫資料訪問層中的addcourse()方法,新增課程,並利用返回值判斷新增是否成功。

介面層的設計

介面層的設計,首先需要根據使用者的功能需求部署恰當的控制項。然後,把工恩那個實現**放在恰當控制項的恰當事件中,在這些**中,需要呼叫業務邏輯層的方法實現,課程新增時,介面上主要的功能如下:

1、  按下新增按鈕,實現課程記錄的插入

**放在按鈕的click事件中;

**設計思路:首先進行控制項的正確性驗證;其次利用控制項的輸入值,生成乙個課程實體類物件;利用此物件,呼叫業務邏輯類物件的新增方法,插入記錄,然後重新整理。

這樣就完成了。

大家有沒有發現在這裡邊是按照資料訪問層、業務邏輯層、介面層一層一層的呼叫的。

就寫到這裡了,我也是剛剛學習,希望大家能夠提出寶貴的意見和建議。

簡單介紹三層架構

三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 介面層 業務邏輯層 資料訪問層。區分層次的目的即為了 高內聚低耦合 的思想,在軟體體系架構設計中,分層式結構是最常見,也是最重要的一種結構,微軟推薦的分層式結構一般分為三層,從下至上分別為 資料訪問層 業...

c mysql三層架構例項 三層架構例項

一 概要 這篇部落格,準備用乙個小demo來介紹應該實現三層架構。三層架構只是分層的一種經典形式,到底分幾層,要依具體情況而定,考慮到系統的複雜程度,和後期的可維護性,完全可以分四層,五層,甚至六層,七層。二 demo 1 實現語言 vb.net 2 需求 學校機房收費系統 中的乙個功能 操作員為學...

軟體架構 三層架構

三層系統的分層式結構 三層架構 3 tier architecture 通常意義上的三層架構就是將整個業務應用劃分為 區分層次的目的即為了 高內聚,低耦合 的思想。表現層 ui 通俗講就是展現給使用者的介面,即使用者在使用乙個系統的時候他的所見所得。業務邏輯層 bll 針對具體問題的操作,也可以說是...