iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
Software Development

軟體架構備忘錄 系列

在軟體開發中,架構設計扮演著至關重要的角色。良好的架構不僅預先思考建構方向,還能減少開發過程中的困擾。相對地,不佳的架構不僅可能導致上線進度延遲,即使成功上線,也可能在未來的維護過程中引發功能調整的困難,並導致系統不穩定,進而影響使用者的滿意度。

每個專案都具有獨特的需求,時間、人力、現有架構以及各個目標的優先順序都各不相同。毫無疑問,世上並不存在一個絕對完美的架構,唯一的成功之道是找到最適合當前專案的解決方案。

本系列將深入探討軟體架構設計的常見考量要點,並在最後提供一份備忘表(Cheat Sheet),以協助各位在未來的架構設計中能夠快速而全面地進行思考。

鐵人鍊成 | 共 30 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 系統架構 - 分層架構 (知識點054~061)

思考的問題 計算邏輯到底應該放哪裡? 當瞭解分層架構後,就會思考這麼多可以放置計算邏輯的位置,我應該放在哪裡? 常見程式分層的位置包含:前端、後端、Batch、...

2023-09-18 ‧ 由 bradhuang9999 分享
DAY 12

Day 12 系統架構 - Log分析與警示 (知識點062~066)

思考的問題 系統在運行的過程中時時都在產生Log 應該要保留那些Log? Log需要保留那些資訊? 如何分析Log? 如何針對Log進行監控並自動進行後續處理...

2023-09-19 ‧ 由 bradhuang9999 分享
DAY 13

Day 13 程式架構 - SOLID原則 (知識點067~071)

思考的問題 設計物件導向程式時,有哪些需要注意的重要原則呢? 在物件導向的設計中,有許多經典的設計原則。其中最出名的就是SOLID原則。其中分別為 S: 單一...

2023-09-20 ‧ 由 bradhuang9999 分享
DAY 14

Day 14 程式架構 - 創建型設計模式 (知識點072~075)

思考的問題 在建立物件時,有各種特殊的需求,有甚麼經典設計模式可以參考? 在設計模式中,定義了許多關於建立物件的經典設計模式,在此處並不會詳細說明如何實作這些設...

2023-09-21 ‧ 由 bradhuang9999 分享
DAY 15

Day 15 程式架構 - 結構型設計模式 (知識點076~079)

思考的問題 如何通過組合多的不同的類別與物件,完成複雜的需求? 當有複雜的需求時,有甚麼方法可以組合這些類別呢?常見的方式包含:外觀模式、轉接器模式、裝飾者模式...

2023-09-22 ‧ 由 bradhuang9999 分享
DAY 16

Day 16 程式架構 - 行為型設計模式 (知識點080~084)

想要解決的問題 如何將可能變動的邏輯抽出,讓該邏輯視需求動態抽換? 架構設計中,有許多邏輯都會可能會變動。需要事先辨認那些是可能變動的部分。並抽出這些變動的邏輯...

2023-09-23 ‧ 由 bradhuang9999 分享
DAY 17

Day 17 程式架構 - 網頁應用程式安全 (知識點085~089)

思考的問題 網頁應用程式有哪些需要考慮的重要安全性策略呢? 網頁應用程式大多運行於網際網路,因此常常受到外部惡意人士的攻擊。為保護網頁應用程式,常見的安全策略包...

2023-09-24 ‧ 由 bradhuang9999 分享
DAY 18

Day 18 網路架構 - 網路設備 (知識點090~094)

思考的問題 需要那些設備以連接到網路? 網路是現今架構中不可或缺的元素,而架設網路需要那些基本的設備呢?常見的元素包含:Hub、Switch、Router、Mo...

2023-09-25 ‧ 由 bradhuang9999 分享
DAY 19

Day 19 網路架構 - 連接方式 (知識點095~098)

思考的問題 如何規劃網站後端伺服器的連接方式? 後端伺服器有多種不同的類型,例如 Web APP、快取伺服器、資料庫等伺服器所在位置也有多種可能性,例如雲端、地...

2023-09-26 ‧ 由 bradhuang9999 分享
DAY 20

Day 20 網路架構 - 網路安全 (知識點099~103)

思考的問題 如何保護網路安全? 在這個網際網路時代,絕大多數的攻擊手法都透過網路進行。因此,網路安全通常被視為保障資訊安全的首要要務。保護網路安全的常見作法包含...

2023-09-27 ‧ 由 bradhuang9999 分享