玩轉C#之【軟體分層架構-三層式架構】

更新於 發佈於 閱讀時間約 2 分鐘

介紹

分層架構模式,是將一個軟體系統進行分層,每個軟體系統都去要通過層來隔離不同的關注點,其中最為經典的就是三層架構以及領域驅動設計提出的四層架構。

raw-image

三層式架構

下面會介紹每一層專門要處理的事情
最常是用的分層方式

  • 展示層 : Controller
    此層專門處理外部使用者互動的部份,有接收的 Parameter 與 回傳 的 ViewModel 兩種類別。
  • 業務層 : Service
    此層專門處理主要的商業邏輯,接收展示層的參數 Dto 並回傳 實體 Dto
  • 資料層 : Repoitory
    此層專門對資料做存取,不做其他商業邏輯,接收商業邏層的參數 Entity 並回傳 實體 Entity
  • 共用層 : Common
    此層主要放每ㄧ層會用到的共用模組Entity、Dto、Enum

至於每層模組的命名方式,每間公司都不太ㄧ樣

raw-image

參考資料

ASP.NET MVC 專案分層架構 Part.1 初學者的起手式
三層式架構 來切分服務的關注點和職責吧
三層式架構設計-影片

本篇已同步發表至個人部落格
https://moushih.com/2022ithome06/

鐵人賽文章

https://ithelp.ithome.com.tw/articles/10288170

留言
avatar-img
留言分享你的想法!
avatar-img
一代軍師
8會員
39內容數
我是這個部落格的作者,喜歡分享有關投資 💰、軟體開發 💻、占卜 🔮 和虛擬貨幣 🚀 的知識和經驗。
一代軍師的其他內容
2024/02/12
盤面基本組成要素 十天干:甲乙丙丁戊己庚辛壬癸 十二地支:子丑寅卯辰巳午未申酉戌亥 五行:木、火、土、金、水 八門:休、生、傷、杜、景、死、驚、開 八神:符、蛇、陰、合、虎、武、九、天 九星:蓬、任、沖、輔、英、芮、柱、心、禽 八卦:坎、艮、震、兌、離、坤、乾 六個旬首:甲子戊、甲戊
Thumbnail
2024/02/12
盤面基本組成要素 十天干:甲乙丙丁戊己庚辛壬癸 十二地支:子丑寅卯辰巳午未申酉戌亥 五行:木、火、土、金、水 八門:休、生、傷、杜、景、死、驚、開 八神:符、蛇、陰、合、虎、武、九、天 九星:蓬、任、沖、輔、英、芮、柱、心、禽 八卦:坎、艮、震、兌、離、坤、乾 六個旬首:甲子戊、甲戊
Thumbnail
2023/10/22
Drawmind 畫鏡 主要目的是透過藝術治療,幫助個人減輕情感壓力、提升心理健康,並提供一個具有專業指導的平台,讓用戶進行情感表達、自我探索和康復。
Thumbnail
2023/10/22
Drawmind 畫鏡 主要目的是透過藝術治療,幫助個人減輕情感壓力、提升心理健康,並提供一個具有專業指導的平台,讓用戶進行情感表達、自我探索和康復。
Thumbnail
2023/08/14
原理 八字 八字不等於出生時間 八字是根據每個兩小時為一個單位的時辰來劃分的。 它包括年、月、日和時這四個要素,其中年、月、日分別對應天干地支。 即使缺少具體出生時刻,也仍然可以排出命盤進行分析。 紫微斗數 需要精確的出生的小時數,因為出生時間的稍微差異呈現出來的命盤會有天差地別,從而
Thumbnail
2023/08/14
原理 八字 八字不等於出生時間 八字是根據每個兩小時為一個單位的時辰來劃分的。 它包括年、月、日和時這四個要素,其中年、月、日分別對應天干地支。 即使缺少具體出生時刻,也仍然可以排出命盤進行分析。 紫微斗數 需要精確的出生的小時數,因為出生時間的稍微差異呈現出來的命盤會有天差地別,從而
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
在設計軟體應用程式時,為了保持模組化、可維護性和可擴展性,開發人員通常會使用多層架構。3-tier(三層)架構是其中最常見的一種,它基本上分為三個主要層次:表示層、邏輯層和數據層。
Thumbnail
在設計軟體應用程式時,為了保持模組化、可維護性和可擴展性,開發人員通常會使用多層架構。3-tier(三層)架構是其中最常見的一種,它基本上分為三個主要層次:表示層、邏輯層和數據層。
Thumbnail
在軟體開發領域,MVC(Model-View-Controller)是一種被廣泛使用的設計模式,它有助於將應用程序的不同部分進行組織、分離,以實現更好的可維護性和可擴展性。本文將深入介紹MVC模式的核心概念,以及如何在您的項目中應用這種強大的架構。
Thumbnail
在軟體開發領域,MVC(Model-View-Controller)是一種被廣泛使用的設計模式,它有助於將應用程序的不同部分進行組織、分離,以實現更好的可維護性和可擴展性。本文將深入介紹MVC模式的核心概念,以及如何在您的項目中應用這種強大的架構。
Thumbnail
在軟體開發領域中,良好的架構設計是實現可維護性、擴展性和重用性的關鍵。其中,"三層式架構"是一種常見且易於理解的架構模式。本文將介紹三層式架構的概念、優勢以及如何在你的軟體項目中應用它。
Thumbnail
在軟體開發領域中,良好的架構設計是實現可維護性、擴展性和重用性的關鍵。其中,"三層式架構"是一種常見且易於理解的架構模式。本文將介紹三層式架構的概念、優勢以及如何在你的軟體項目中應用它。
Thumbnail
這篇文章將會講述 Unity C# 中關於 Interface (介面/接口)的基本介紹以及原理說明,最後提供完整的使用流程。
Thumbnail
這篇文章將會講述 Unity C# 中關於 Interface (介面/接口)的基本介紹以及原理說明,最後提供完整的使用流程。
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
這邊要來跟大家介紹C#,使用的軟體會是Visual Studio 2017版本 介紹內容架構可以分六大階段:入門級、基礎級、中低階級、中階級、中高階級、高階級 在正式開始寫程式前,要先了解一些基本概念哦! 就如同學中文前要先了解ㄅㄆㄇㄈ或羅馬拼音之類的,程式也是一樣道理,先把基本概念了解後再來開始
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
知識圖解是一個非常實用的技能,但不是很好掌握。這篇文章分享由軟體架構師 Simon Brown 提出的 C4 模型,可以很好地讓圖解變的「見樹又見林」,最後我還會分享在軟體業之外的應用。如果你是需要在工作場合中思考與溝通複雜事物的人,就一起來看看這篇文章吧!
Thumbnail
知識圖解是一個非常實用的技能,但不是很好掌握。這篇文章分享由軟體架構師 Simon Brown 提出的 C4 模型,可以很好地讓圖解變的「見樹又見林」,最後我還會分享在軟體業之外的應用。如果你是需要在工作場合中思考與溝通複雜事物的人,就一起來看看這篇文章吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News