架構(gòu)設(shè)計(jì)與分層

為什么需要分層

  • 不分層的應(yīng)用架構(gòu)
    • 代碼不夠清晰
    • 難以閱讀
    • 代碼的職責(zé)不清晰,難以擴(kuò)展
    • 代碼負(fù)責(zé),難以維護(hù)
    • 代碼沒做分工,難以組織
  • 分層的應(yīng)用架構(gòu)
    • 按業(yè)務(wù)功能進(jìn)行分層
    • 良好的層次關(guān)系
    • 每一層都能夠保持獨(dú)立

三層架構(gòu)

  • 表示層(Presentation Layer):提供與用戶交互的界面

  • 業(yè)務(wù)邏輯層(Business Layer):業(yè)務(wù)邏輯成,實(shí)現(xiàn)各種業(yè)務(wù)邏輯

  • 數(shù)據(jù)訪問層(Data Access Layer):數(shù)據(jù)持久層,負(fù)責(zé)存放或者管理業(yè)務(wù)數(shù)據(jù),與數(shù)據(jù)庫打交道的


    image.png
  • vs MVC

    • Model,View,Controller


      image.png

博客系統(tǒng)的架構(gòu)設(shè)計(jì)與職責(zé)劃分

  • 表示層
    • controller,view。。。。
  • 業(yè)務(wù)層
    • Entity(模型,實(shí)體),Service(服務(wù))
  • 數(shù)據(jù)庫訪問層
    • Repository(存儲庫的形式),采用JPA的接口
  • 職責(zé)劃分
    • 博客系統(tǒng)
      • 關(guān)系型數(shù)據(jù)庫:mysql,h2,nosql,elasticsearch(非關(guān)系型)
    • 文件管理系統(tǒng):nosql,MongoDB(小文件,圖片等)
    • 通過RESTful API進(jìn)行交互
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容