當前位置:
首頁 > 科技 > Eric Evans:DDD還未結束!

Eric Evans:DDD還未結束!

作者 | Thomas Betts

譯者 | 無明

在 Explore DDD 2018 大會上,Eric Evans 做了「懷疑、樂觀和實用主義」的主題演講,他在演講中表示,「DDD 還沒有結束」。在「領域驅動設計」這本書出版十五年之後,作者對這個想法長期以來如此流行表示了驚訝之情。他強調,DDD 在這些年裡並沒有停滯不前,很多人都在不斷創新。他還表示,要保持 DDD 不斷發展,還有很多工作要做。

Evans 經常被要求對 DDD 做出定義,於是他也想知道應該如何嚴格定義 DDD。一個極端是「好建議」,實際上只是「看上去很美好的感傷」,另一個極端是一個微不足道的「食譜」,必須嚴格遵循,但對於處理更高級的概念可能變得無關緊要。Evans 認為 DDD 存在一個舒適點。當指導變得太過死板,即使是最微小的變化也像是在說「你不是在實現 DDD」,然後你就無法真正創新。為了使 DDD 保持相關性,它必須允許創新和演化。

Evans 提醒 DDD 主要指導原則的受眾:要關注核心領域,在領域從業者和軟體從業者的創造性合作中探索模型,並在明確有界的上下文中使用無處不在的語言。他隨後從懷疑論的角度來問道:「如果我們錯了呢?」如果我們沒有看到 DDD 產生預期的結果,那麼,作為專業人士,我們需要重新審視我們的原則。

一些團隊確實在 DDD 方面取得了令人失望的結果,Evans 試圖對這些結果的原因進行分類。在某些情況下,文化沒有提供良好的支持,而在其他情況下,文化可能是可接受的,但團隊缺乏成功的技能。有時,這只是一個運氣問題,或者歸結為神秘的未知原因,不值得去調查可能會產生誤導的根本原因。Evans 還指出,典型 DDD 技術可能存在薄弱點或 DDD 原則可能存在缺陷。如果技術存在薄弱點,可以在不改變 DDD 基本原則的情況下解決。例如,Event Storming 是一種可以幫助開始進入協作狀態的強大技術。但是,如果這些原則確實存在缺陷,我們是否能夠在不完全放棄 DDD 的情況下對它們做一些修改?這是一個需要考慮的未決問題。

Evans 看到了 DDD 在過去十五年中的演化方式。事件溯源和 CQRS 等技術模式改變了我們構建軟體的方式,並提出了系統不需要單個資料庫的想法。書籍、博客和其他寫作渠道提供了新的觀點和有用的解釋,擴展了 Evans 的原創思想。一個主要的區別是 DDD 社區的發展,出現了本地聚會和國際會議,包括 Explore DDD 和 DDD Europe。

微服務的增長要歸功於過去幾年 DDD 的重新升值。Evans 認為這是積極的,但也要小心謹慎。如果不是微服務,現在可能也不會舉行 DDD 相關的大會,諸如「每個微服務就是一個有界的上下文」這樣的規範性指導接近「食譜」一端,並且偏離了 DDD 的舒適點。

Evans 將大型軟體系統比作社區花園。透過花園中人們共享空間的邊界上下文,看著「成熟的富足」,他看到了與遺留系統的類比。花園在夏末是最有價值的,因為那時它們最多產。然而,那已經是很久以前的事了,在初春的時候,你可以很容易地改變花園。同樣,軟體最具延展性的階段不是在它最多產的時候。

Evans 的最後一個觀點是,推進 DDD 的秘訣在於合作。他認為技術大會將專家們聚集在一起討論各種想法並互相學習的好機會,而不僅僅是廣播和講座。他主張 DDD 專家進行實驗,並在 DDD 社區內分享這些實驗和結果。引入其他領域的專家和意見同樣重要,例如框架和編程語言的作者。他總結道,「DDD 在過去的十五年里已幾經重組。我認為現在是進行另一次重大重組的時候了」。

英文原文

https://www.infoq.com/news/2018/09/ddd-not-done

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

GitHub被收購,Stack Overflow在裁員:後開源時代,開源的未來往哪邊?
Facebook開發出可自動掃描代碼找Bug的工具;中國發布自己的域名系統基礎軟體 「紅楓」;HHVM將停止支持PHP

TAG:InfoQ |