iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
Kotlin

Kotlin魔法:Spring Boot 3的fp奇幻冒險系列 第 10

[小鎮] 分層吧,蛋糕(? - 三層架構

  • 分享至 

  • xImage
  •  

前情提要

今天我們要將架構給建造出來,為什麼要有架構呢? 因為有架構我們才能比較容易地進行擴展與更動,就像是蛋糕一樣,如果有分層,就可以看得很仔細裡面有什麼口味囉~

架構

我們目前的架構只有一層Controller層,我們今天要來講一下分層的概念。

Controller

Controller層是應用程序的入口點,負責接收和處理來自外部的request。通常Controller層包含路由和請求處理邏輯,它將請求轉發給Sevice層進行處理,然後將結果返回給外部。

Service

Service層是app的業務邏輯的核心,它包含了實際要處理的核心邏輯、具體業務邏輯。包括各種業務邏輯,如數據處理、計算、驗證、轉換等。
服務層的設計應該是獨立的,這樣它可以被不同的Controller使用,同時也應該容易測試。
寫的越好的Service,可以讓我們輕鬆共用,瞬間(? 找到想要的業務邏輯。

Repository

Repository層,簡稱:Repo層,用於與DB互動,或是與外部系統互動,它主要處理數據的讀取、寫入和操作。這一層抽象了底層的細節,為Service層提供了方法,來訪問DB。
這層就是要保護我們髒髒的DB,讓Service可以乾乾淨淨。以Clean architeture來說,它就有點像是Adapter的腳色,介於DB跟Service之間。

Service表示:你不要靠近我~你這髒髒的DB

總結

透過這三種分層,我們可以將Web程式寫的比較乾淨一點,讓程式不要是一團大尼球或義大利麵,讓後人都可以看懂我們的程式。


上一篇
[小草原] 錯誤處理超進化-Either 實戰
下一篇
[小鎮] 實作三層架構 - 拆拆拆
系列文
Kotlin魔法:Spring Boot 3的fp奇幻冒險30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言