序
在本書中,Vaughn Vernon以一種特有的方式向我們展示了領域驅動設計(Domain-Driven Design,DDD)的各個方面,其中包括對新概念的解釋、新的例子和原創的話題組織方式。我相信,這種新穎的方式可以幫助大家掌握DDD的各種微妙之處,特別是非常抽象的聚合和限界上下文。不同的人習慣用不同的方式來理解這些概念,而在缺少多種解釋的情況下,想要了解這些微妙的抽象概念是非常困難的。
本書包含了在過去9年中出現在各種論文和講稿中的對DDD的深層剖析,而這些是在之前的書籍中沒有的。本書將領域事件與實體和值對象一道看作是模型的基礎部件。另外,書中還討論了“大泥球”(Big Ball of Mud)架構和如何將其放置在上下文映射圖(Context Map)中。Vaughn還向我們闡述了六邊形架構(Hexagonal Architecture),這種新興的架構與分層架構相比,能夠更好地描述我們要完成的事情。
我是在將近兩年前第一次接觸到本書內容的,那時Vaughn已經開始撰寫本書有一段時間了。在第一次DDD峰會上,我們中的幾個編寫了關于DDD的若干話題,比如有關DDD的新知識,或者DDD社區所期待的一些針對性建議等。Vaughn負責寫聚合部分,這一寫便是一個有關聚合的文章系列,并且寫得非常出色,最后,這個系列成為了本書中的一個章節。
在那次峰會上,與會人員們一致認為:一套更加具有規約性的DDD模式是大有裨益的。誠實地講,對于軟件開發中的任何問題,答案都是“得看情況”。然而,這對于那些希望學到實際應用技術的人來說卻沒多大用處。人們需要更加實際的指導。經驗法則不見得一定要放之四海而皆準,但在通常情況下,他們可以工作得很好,也應該被首先嘗試。出于自身的果決性,這些經驗法則蘊含著解決問題的思想方法。Vaughn的這本《實現領域驅動設計》將各種明晰的建議很好地融合在一起,同時又給出了一些折中性的討論,從而避免了將這些建議過于簡單化。
一些額外的DDD模式,比如領域事件,已經成為了DDD的主流模式,人們也學會了如何應用這些模式,并嘗試著在新架構和新技術中采用這些模式。在我的《領域驅動設計:軟件核心復雜性應對之道》出版9年后,有太多關于DDD的新知識需要談及,Vaughn的這本書則是最全面的闡述。
—Eric Evans
Domain Language, Inc.
- 大數據技術基礎
- Python數據分析與挖掘實戰
- Creating Mobile Apps with Sencha Touch 2
- MongoDB管理與開發精要
- 文本數據挖掘:基于R語言
- Sybase數據庫在UNIX、Windows上的實施和管理
- 數據驅動設計:A/B測試提升用戶體驗
- 數據科學工程實踐:用戶行為分析與建模、A/B實驗、SQLFlow
- 辦公應用與計算思維案例教程
- Instant Autodesk AutoCAD 2014 Customization with .NET
- Power BI智能數據分析與可視化從入門到精通
- 區塊鏈+:落地場景與應用實戰
- Expert Python Programming(Third Edition)
- 大數據與機器學習:實踐方法與行業案例
- 大數據分析:R基礎及應用