1. 程式人生 > >架構初識(一 ) 單體應用架構

架構初識(一 ) 單體應用架構

serve 體驗 也有 邏輯 scm 文檔 全局 業務 認識

單體應用架構

      架構總感覺理我很遠,有時候感覺很迷茫。今天起我把我認識到的三種架構寫出來,一是希望沈澱一下自己所學的東西,二是希望有人能指出我的不足指出,向大家學習。

      第一篇 單體應用架構我會總結出單體架構的優缺點,和一般我在經歷過的項目中單體架構所用到的技術,以及我需掌握的知識。

      第二篇 垂直應用架構

      第三篇 微服務

      單體應用概念

      在項目中只需要通過引用把所有的功能集中在同一系統中實現

     應用項目類型:

        單體應用常用在 SCMERPCRM 等辦公系統中。

      下面一張圖介紹單體應用架構:

(三層架構)

        技術分享圖片

      描述一下各個層之間用到的框架技術 這裏以我工作中所見所聞總結出。

      UI WebFromMVCWPFHTM...

       概念:UI常用來和用戶交互,美觀體驗性都會在這裏有直接體現。

      BLL:常用來處理業務,一個框架中的最重要部分我認為是業務邏輯層,因為基本上所有的操作都是在業務邏輯層中實現,一個架構的設計也都在業務邏輯層中體現,比如,(緩存)Cache、記錄日誌、以及我們在項目中用到的各個組件都是在業務邏輯層中,業務邏輯層在數據交互上起到承上啟下的作用,因為處於表示層和數據訪問層的中間

.

      DAL:數據訪問層,用到的技術有Ado.NET,FE、微軟企業庫、等. 數據層也稱為持久層、也有人叫數據固化層,可以訪問數據庫(對數據庫的增添、刪除、修改、查找)、各種文件,文檔,

      DB :數據庫,SQL ServerMySql等,(以前有次面試的時候面試人員問我、你數據固化在哪裏,我回答的數據庫,很不贊成這樣去問(容易懵逼)(~o~))

      單體架構的優點:

        (1)易於開發:開發人員使用當前開發工具在短時間內就可以開發出單體應用.IDE友好)

        (2)易於測試:因為不需要依賴其他接口,測試可以節約相當多時間了。

        (3)易於部署:你只需要將目錄部署在運行環境中即可

      單體架構的缺點

        (1)靈活度不夠:如果對程序做出任何的修改,修改的不只是一個點了,而是自上而下的去修改,測試時必須等到整個程序部署完後才能看出效果。在開發過程可能需要等待其他的開發人員開發完成才能完成部署,降低團隊的靈活。

        (2)降低系統的性能:原本可以直接訪問數據庫但是現在多了一層。一個功能點都需要在各個層寫上代碼

        (3)系統啟動慢:一個進程包含了所有的業務邏輯,涉及到的啟動模塊過多,導致系統的啟動時間延長。

        (4)系統擴展性比較差:增加新東西的時候不能針對單個點增加,全局性的增加.牽一發而動全身。

        希望不足之處大家可以指出 謝謝!

架構初識(一 ) 單體應用架構