Clean Architecture 的作者,Robert C. Martin 在前言中問道: 「軟體是由什麼構成的?」
相較於實體房屋,軟體的一切都很抽象,在軟體的世界,狗可以學鴨子叫、雞可以飛在天上、球可以永不落地 — 只要寫得夠糟XD
從語言、函式、物件、設計模式到系統設計,面對越來越抽象的問題,我們該從何處下手?
抽象的思考總是困難的,既然如此,我們是否能建立一個 SOP ,讓我們的思考不再發散,而是聚焦於 「當下重要的事情」,從高層開始思考,建構出整體的架構後,再逐步完善各個元件,讓抽象的思考有跡可循,幫助我們設計出穩健、可擴展的系統!
今天繼續介紹 使用者驗證的機制 生物識別 硬體驗證 (Hardware Security Module) Single Sign On (SSO) Open...
上篇講了透過 使用者驗證 來限制使用者使用我們的 API 另一個系統中常見的元件 (服務) 就是 支付服務 了, 由於近年來電子支付盛行, 有各式各樣的付款方式...
上篇介紹了 網頁支付 和 行動支付, 今天繼續介紹剩下的支付方式 電子錢包 加密貨幣 第三方支付平台 電子錢包 電子錢包 嚴格來說, 不算是一種支付方式,...
前面 13 天我們介紹了常見並適用大多數系統的元件, 從 資料保存, Database, API Service, Notification (包含 Email...
回想一下上篇提出的問題, 雖然感覺在真實世界中, 可能有數不清的問題會發生, 但我們可以將類似的問題分類, 比如以上篇的問題來說, 我們可以歸類成: Secur...
就像上篇說的一樣, 雖然 水平擴展 是一個強大的擴展方式, 但他也會造成系統維護很大的困難 所以我們要先確認 "真的需要水平擴展嗎"? 如果...
如上篇所說, 這系列會著重在 水平擴展, 就需要用到一些分散式系統的知識由於分散式系統也是值得 6 學分的課, 這裡僅介紹基本原則, 有興趣深入請自行查閱(題外...
接續上篇 CAP Theorem 的介紹 我們以 訂房系統 為例 訂房系統 假設我們設計了一個類似 Agoda, Booking.com 等的 訂房系統, 使用...
今天繼續介紹 CAP Theorem Availability 即系統能夠持續提供服務的能力 如上篇所說, 強一致性 的設計可以確保跨節點資料的一致性, 但是等...
CAP Theorem 和 Database 對 CAP Theorem 基本瞭解後, 我們知道實務上都是在 CP 系統和 AP 系統間選擇, 結合我們 Day...