單體應用架構 架構總感覺理我很遠,有時候感覺很迷茫。今天起我把我認識到的三種架構寫出來,一是希望沉澱一下自己所學的東西,二是希望有人能指出我的不足指出,向大家學習。 第一篇 單體應用架構我會總結出單體架構的優缺點,和一般我在經歷過的項目中單體架構所用到的技術,以及我需掌握的知識。 第二篇 垂直應用架 ...
單體應用架構
架構總感覺理我很遠,有時候感覺很迷茫。今天起我把我認識到的三種架構寫出來,一是希望沉澱一下自己所學的東西,二是希望有人能指出我的不足指出,向大家學習。
第一篇 單體應用架構我會總結出單體架構的優缺點,和一般我在經歷過的項目中單體架構所用到的技術,以及我需掌握的知識。
第二篇 垂直應用架構
第三篇 微服務
單體應用概念:
在項目中只需要通過引用把所有的功能集中在同一系統中實現
應用項目類型:
單體應用常用在 SCM、 ERP、CRM 等辦公系統中。
下麵一張圖介紹單體應用架構: (三層架構)
描述一下各個層之間用到的框架技術 這裡以我工作中所見所聞總結出。
UI :WebFrom、MVC、WPF、HTM...等
概念:UI常用來和用戶交互,美觀體驗性都會在這裡有直接體現。
BLL:常用來處理業務,一個框架中的最重要部分我認為是業務邏輯層,因為基本上所有的操作都是在業務邏輯層中實現,一個架構的設計也都在業務邏輯層中體現,比如,(緩存)Cache、記錄日誌、以及我們在項目中用到的各個組件都是在業務邏輯層中,業務邏輯層在數據交互上起到承上啟下的作用,因為處於表示層和數據訪問層的中間.
DAL:數據訪問層,用到的技術有Ado.NET,FE、微軟企業庫、等. 數據層也稱為持久層、也有人叫數據固化層,可以訪問資料庫(對資料庫的增添、刪除、修改、查找)、各種文件,文檔,
DB :資料庫,SQL Server、MySql等,(以前有次面試的時候面試人員問我、你數據固化在哪裡,我回答的資料庫,很不贊成這樣去問(容易懵逼)(~o~))
單體架構的優點:
(1)易於開發:開發人員使用當前開發工具在短時間內就可以開發出單體應用.(IDE友好)
(2)易於測試:因為不需要依賴其他介面,測試可以節約相當多時間了。
(3)易於部署:你只需要將目錄部署在運行環境中即可
單體架構的缺點
(1)靈活度不夠:如果對程式做出任何的修改,修改的不只是一個點了,而是自上而下的去修改,測試時必須等到整個程式部署完後才能看出效果。在開發過程可能需要等待其他的開發人員開發完成才能完成部署,降低團隊的靈活。
(2)降低系統的性能:原本可以直接訪問資料庫但是現在多了一層。一個功能點都需要在各個層寫上代碼
(3)系統啟動慢:一個進程包含了所有的業務邏輯,涉及到的啟動模塊過多,導致系統的啟動時間延長。
(4)系統擴展性比較差:增加新東西的時候不能針對單個點增加,全局性的增加.牽一發而動全身。
希望不足之處大家可以指出 謝謝!