標籤:說明性架構
一個 說明性架構 是我選擇用來說明一些有趣的設計面向的範例架構,我覺得這些面向值得更常使用。
LMAX 架構
LMAX 是新的零售金融交易平台。因此它必須處理許多低延遲交易。這個系統建構在 JVM 平台上,並以一個每秒可在單一執行緒處理 600 萬筆訂單的商業邏輯處理器為中心。商業邏輯處理器完全在記憶體中執行,使用事件來源。商業邏輯處理器周圍環繞著 Disruptors,這是一個並行元件,實作一個不需要鎖定就能運作的佇列網路。在設計過程中,團隊得出結論,使用佇列的高效能並行模型的最新方向與現代 CPU 設計基本上是相衝突的。
Gap Inc. 的 SCMS 架構
SCMS PO 是幫助 Gap Inc. 管理採購單的應用程式。這個應用程式的架構受到其開發團隊的喜愛,因此成為一個良好的 說明性架構,適用於具有豐富 javascript 前端,並與提供 json 的後端一起運作的系統。有趣的設計特點包括使用簡報模型模式的 knockout.js 表單、在客戶端和伺服器上執行的 javascript 驗證器、使用儲存庫封裝資料存取、使用 MongoDB 作為應用程式資料庫,以及測試組合。
Morrison's OrderPad 的架構
Morrisons OrderPad 是一款平板電腦網路應用程式,可協助超市員工在店內走動時下達新庫存訂單。這個應用程式是一個不錯的 expositional architecture,適用於由輕量級 Java 伺服器應用程式支援的平板電腦網路應用程式。我們強調在客戶端分離應用程式控制和 DOM 互動,在伺服器上使用小型、專注的架構,廣泛堆疊測試環境,以及使用試點專案來了解需要哪些功能。
Expositional Architecture
我們對軟體系統的了解不斷增加,其中一個問題是我們看到的範例不夠多。在許多專業領域中,人們透過觀察已完成的事物來學習。範例可以作為靈感、提供好點子,並警告困難之處。很長一段時間以來,透過這種方式來學習軟體都困難得多。