---
# System prepended metadata

title: 關於業務層基礎
tags: [Java Web-mvc]

---

# 關於業務層基礎
###### tags: `Java Web-mvc`

![](https://i.imgur.com/iCkENvX.png)

什麼是業務層
    1)Mode1和Mode2
    MVC：Model(模型)、View(試圖)、Controller(控制器)
    視圖層：用於做數據展示以及和用戶交互的一個介面
    控制層：能夠接受客戶端的請求，具體的業務功能還是需要藉助於模型組件來完成
    模型層：模型分為很多種：有比較簡單的pojo/vo(value object)，有業務模型組件，有數據訪問層組件
        1)pojo/vo：值對象
        2)DAO：數據訪問對象
        3)BO：業務對象

    2)區分業務對象和數據訪問對象：
        1)DAO中的方法都是單精度方法或者稱之為細粒度方法，什麼叫單精度？一個方法只考慮一個操作，比如添加，就是insert操作，查詢就是select操作
        2)BO中的方法屬於業務方法，實際的業務是比較複雜的，因此業務方法的粒度是比較粗的
          註冊這個功能屬於業務功能，也就是說註冊這個方法屬於業務方法
          那麼這個業務方法中包含多個DAO方法。也就是說註冊這個業務功能需要通過多個DAO方法的組合調用，從而完成註冊功能的開發
        註冊：
            1.檢查用戶銘是否已經被註冊 -DAO中的查詢操作
            2.向用戶表新增一條新用戶紀錄 -DAO中的insert操作
            3.向用戶積分表新增一條紀錄(新用戶默認初始化積分100分) -DAO中的insert操作
            4.向系統消息表新增一條紀錄(某某某新用戶註冊了，需要根據通訊錄信息向他的聯繫人推送消息) - DAO中的insert操作
            5.向系統日誌表新增一條紀錄(某用戶在某IP在某年某月某芬某妙註冊) - DAO中的insert操作
            6. ...
    3)在庫存系統中添加業務層