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

来源:https://www.cnblogs.com/szlblog/archive/2018/05/04/8992376.html
-Advertisement-
Play Games

單體應用架構 架構總感覺理我很遠,有時候感覺很迷茫。今天起我把我認識到的三種架構寫出來,一是希望沉澱一下自己所學的東西,二是希望有人能指出我的不足指出,向大家學習。 第一篇 單體應用架構我會總結出單體架構的優缺點,和一般我在經歷過的項目中單體架構所用到的技術,以及我需掌握的知識。 第二篇 垂直應用架 ...


單體應用架構

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

 

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

 

      第二篇 垂直應用架構 

 

      第三篇 微服務

 

      單體應用概念

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

 

     應用項目類型:

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

 

      下麵一張圖介紹單體應用架構: (三層架構)

       

        

 

 

 

 

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

      UI WebFromMVCWPFHTM...

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

 

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

 

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

 

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

 

      單體架構的優點:

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

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

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

 

      單體架構的缺點

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

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

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

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

 

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

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.微服務技術選型圖如下圖所示: 2.如何進行微服務架構設計: 深入業務功能, 滿足功能性需求 非功能性需求關註擴展性,穩定性。可維護性,伸縮性,高可用,高性能 堅持kiss原則,防止簡單問題複雜化 註: 可伸縮性是指系統通過增加或減少硬體水平從而提升或降低系統性能的難易程度。可伸縮性分為scale ...
  • 責任鏈模式 一.什麼是責任鏈模式? 責任鏈模式為請求創建一個接受者對象的鏈,這種模式給予請求的類型,對請求的發送者和接收者進行解耦.(將接受者對象連成一條鏈,並且在該鏈上傳遞請求,直到有一個接受者對象處理它,通過讓更多對象有機會處理請求,避免了發送者和接受者之間的耦合度)這種類型的設計模式屬於行為型 ...
  • 單例模式 一.什麼是單例模式? 單例模式是java中最簡單的設計模式之一,屬於創建型設計模式,這種模式涉及到一個的單一的類,該類負責創建自己的對象,這個類提供了一種訪問其唯一的對象的方式,可以直接訪問,不需要實例化該類的對象。(1.單例類只能有一個實例,2.單例類必須自己創建自己唯一實例,2.單例類 ...
  • 模板模式和鉤子函數 一.什麼是模板模式? 定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變一個演算法的結構就能重新定義該演算法的某些特定步驟,模板模式屬於設計模式中的行為模式。 二.如何實現模板模式? 三.模板模式的實現要素? 準備一個抽象基類,將部分邏輯以具體方法的形式 ...
  • 參加工作 關於從學生到職場的轉變與心態起伏,已然有許多文筆好的朋友感嘆過,我想自己作為一個平凡的人,相較他人也不會有更為特別的感受,自然也就不值當多說。只簡單聊聊自身的情況,1月份畢業於非電腦專業,3月底檔案上的職業欄從 變成了 手動滑稽,編程功底相比電腦專業的各位前輩有較大差距,但這就是我職業 ...
  • 我們成功書寫了HelloWorld後,又深入瞭解了main函數,提到過main並非是關鍵字,可什麼又是關鍵字呢?這其實就是這章要研究的內容,本節研究關鍵字與標識符,在標識符中我們也會講解一下Java中的駝峰命名; 1.1 關鍵字 在Hello World中,我們發現其中有很多單詞是固定的,這其實就是 ...
  • 最近也是挺煩的,博客園做為程式員的家園,其實不假。雖然現在寫出的隨筆,看的人少。就當自娛自樂了。煩惱就是矛盾引起的,人很多想法都會被外界環境影響。比如一個思考很久的決定,當事情真發生時,考慮過多,受到外界環境的影響就改變了。 面試真的靠技巧,雖然你很NB,但是面試官不知道,不給你機會,也是白搭。真正 ...
  • JSPs /admin/* BASIC ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...