常見問答集 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

常見問答集

為什麼我應該使用六邊形架構?

六角形架構將開發人員的焦點轉移到網域邏輯、簡化測試自動化,並改善程式碼品質和適應性。這些改進可加快上市時間,並簡化技術和組織擴展。

為什麼我應該使用網域驅動的設計?

網域驅動設計 (DDD) 可讓您使用業務利益相關者和工程師之間的通用語言來建置軟體元件和建構。DDD 可協助您管理軟體複雜性,並且是長期維護軟體產品的有效策略。

我可以在沒有六邊形架構的情況下練習測試驅動的開發嗎?

是。測試驅動的開發 (TDD) 不限於特定軟體設計模式。不過,六邊形架構可讓您更輕鬆地練習 TDD。

我可以在沒有六邊形架構和網域驅動設計的情況下擴展產品嗎?

是。大多數的設計模式都可以實現技術和組織產品擴展。不過,六邊形架構和 DDD 可讓您更輕鬆地擴展,而且長期而言,對於大型專案更有效。

我應該使用哪些技術來實作六邊形架構?

六角形架構不限於特定技術堆疊。建議您選擇支援相依性反轉和單位測試的技術。

我正在開發最基本可行的產品。花時間思考軟體架構是否合理?

是。我們建議您使用 MVPs 熟悉的設計模式。建議您嘗試並練習六邊形架構,直到工程師對此感到滿意為止。為新專案建立六邊形架構,不需要比不使用任何架構就開始投入更多的時間。

我正在開發最少可行的產品,沒有時間撰寫測試。

如果您的 MVP 包含商業邏輯,強烈建議為其撰寫自動化測試。這將減少回饋循環並節省時間。

我可以搭配六邊形架構使用哪些額外的設計模式?

使用 CQRS 模式來支援整個系統的擴展。使用儲存庫模式來存放和還原您的網域模型。使用工作單位模式來管理交易程序步驟。使用繼承的合成來建立網域彙總、實體和值物件的模型。請勿建置複雜的物件階層。