iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 20
1
Mobile Development

如何用 Laravel 撰寫難以維護的專案系列 第 20

[Day 20] 難以維護的 Laravel monolith 架構

CI/CD 討論過後,該來看看程式架構的部分了。

我們來談談怎麼用 Laravel 作出難以維護的 monolith 架構。

什麼是 monolith 架構

多數的專案,都是由一個小專案開始,可能這個專案只有幾個功能,像是提供用戶登入註冊,買賣東西……等。

隨著專案成長,客戶的數量以及需求越來越多,專案的功能也會越來越多。久而久之,專案的功能相互關聯,每調整其中一個地方,都要看大量的程式碼才行,修改之後還有大量的檢查要做。這個專案難以維護的程度會越來越高,變得如同一塊磐石(monolith)一樣。

要是專案的文件不完整,導致有的功能只能透過老員工的口耳相傳,來知道功能的規則是什麼的話,那就更難以維護了。

靜靜觀望

monolith 架構是一個會隨著時間越來越難維護的架構。有時我們什麼都不用做,只要保證這個專案隨著時間成長時,沒有人提出任何調整架構的建議,專案就可以越來越難維護了。

多個資料庫

如果功能需要的資料來源很多,與其和其他的系統透過 API 溝通,可以和資料庫的擁有者溝通,直接存取資料庫。

這會導致這個專案的調整,會需要看所有相關的資料庫結構,才可以知道怎麼調整,提升專案的維護難度。

還可以保證相關資料庫的異動,都可能需要調整這個專案,進而提升和這個專案相關資料庫的調整難度。

確保文件的缺乏

要讓 monolith 架構的專案更難維護一點,我們就要確認沒有人幫他建立說明文件。

這樣一來,要維護的人只能從大量的程式碼裡面找修改的地方,或者從老員工(有時是已經離職的員工)問出怎麼調整,大大的提高維護的難度


上一篇
[Day 19] 難以維護的 CI/CD 流程
下一篇
[Day 21] 難以維護的組合式架構
系列文
如何用 Laravel 撰寫難以維護的專案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言