1.4.3 行為驅動設計
可以將BDD(Behavior-driven Design,行為驅動設計)被視為TDD與DDD合并的結果。BDD關注系統(tǒng)的行為而不僅僅是測試它。使用BDD時所創(chuàng)建的規(guī)范可以使用在真實領域中隨處可見的語言,這能夠讓技術用戶和業(yè)務用戶同時受益。
采用BDD編寫規(guī)范時產生的文檔可以讓讀者了解系統(tǒng)在各種情況下表現什么樣的行為,而不是簡單地驗證各個方法正在執(zhí)行它們應該完成的工作。通過將DDD的若干方面與核心TDD概念有機融合,BDD將同時滿足業(yè)務用戶和技術用戶的需求。可以使用標準的單元測試框架來執(zhí)行BDD,但專門的BDD框架已經出現了,而且BDD即將成為下一個大事件。
如果從網站上下載第10章和第11章將要構建的案例研究的代碼,則能找到編寫用來演示系統(tǒng)行為的BDD規(guī)范。但在本書寫作時還沒有涉及BDD的書籍。因此,建議在Internet上搜索有關這項偉大技術的盡可能多的信息。
1.5 小結
本章介紹了一系列可在ASP.NET應用程序中采用的設計模式、原則和企業(yè)模式。
● GoF模式是名著Design Patterns Bible中歸類的23種模式。這些設計模式是那些反復出現的常見問題的解決方案模板。在團隊討論復雜問題時,可以使用這些模式作為共享的詞匯表。
● Robert Martin的S.O.L.I.D.設計原則形成了許多設計模式遵循的基礎。這些原則旨在提倡松散耦合、可維護性高的、適應變化的面向對象系統(tǒng)。
● Fowler的企業(yè)模式用于企業(yè)級應用程序。它們包括用來組織業(yè)務邏輯的模式、用來組織表示邏輯的模式、用來組織數據訪問的模式以及一系列可在整個系統(tǒng)中使用的基礎模式。
對這些模式和原則的介紹層次已經相當高,但在繼續(xù)閱讀本書的過程中,您將會發(fā)現我們會更深入地講解本章涉及的所有概念,同時還有來自真實場景的ASP.NET實現,很可能與您要解決問題的系統(tǒng)相關并可以加以利用。
第2章將更近距離地了解本書中涉及的GoF模式,介紹如何使用設計模式模板以及如何閱讀模式所必需的實用知識。