在Java裡面,開發都要遵循一套模式:
MVC
M: Model(模型,即JavaBean)
V: View(視圖,及頁面)
C: Controller (控制層,即與前端互動的類)
然後就是service、dao和controller:
controller:控制層,接收前端傳過來的資料
service:業務層,處理制層傳過來的資料
dao:資料通路層,即把業務層傳過來的資料存放在資料庫
這樣的設計都是友善開發中的維護,假如你寫程式随便寫,名稱随便定義,然後再改bug的時候,你會讓開發者生不如死。然後就是層與層之間互相不幹擾,自己處理自己的事情
通俗點講,就是:
如果去飯店吃飯,不可能找廚師點菜吧?
小工負責食材存取,洗菜切肉;
廚師負責烹饪;
跑堂負責接待食客并與後廚溝通。
這就是精典的分層展現。如果一個廚師既負責跑堂,又負責烹饪。那這個飯店的管理一定非常混亂吧。
小工就是DAO,從食材庫裡(資料源)取出食材(原始資料),進行簡單處理(資料對象化)。
廚師就是Service,找到小工(DAO),擷取各種半成品(對象化資料),加工成顧客需要的菜肴(最終資料)。
跑堂就是Controller,負責接單(送出資料)上菜(響應資料),是顧客與後廚間的媒介(提供使用者與背景程式的接口)。
各司其職(高内聚),輕松協作(低耦合),就是分層思想的目标。