對結合BDD進行DDD開發的一點思考和整理(2)

發表于:2016-12-01來源:老畢的程序人生作者:老畢的程序人生點擊數: 標簽:BDDDDD
當應用層接口和系統模型相對穩定后,我們才開始著手UI和持久層的設計實現。在MVP、MVVM模式和ORM工具的幫助下,這個階段通常沒有太大的難度。隨后,是
  • 當應用層接口和系統模型相對穩定后,我們才開始著手UI和持久層的設計實現。在MVP、MVVM模式和ORM工具的幫助下,這個階段通常沒有太大的難度。隨后,是以應用層接口為單位的集成測試和性能分析,期間還會穿插若干次的重構和單元測試,通常這是最惱人的一步——眼看勝利在即,仍只能望梅止渴。接下來,是完整系統的模擬運行,一幫人整天想著法子折騰它,并記下每一次的錯誤和異常,然后又進入新一輪的重構和測試。
  • 最后,大家伙再加把勁,編制用戶手冊、完成代碼和資料存檔、再完成生產環境的部署,就算萬事大吉了。
  • 在整個開發流程里,如果說建模、實現、測試等等,都還在我的控制之中,那么在與客戶交流時,我不知道有多少人象我一樣,時常感到引導話題或者討論方向時那種深深的無力??蛻艨倳J為你是專家,他說的你都能理解、都能實現,無論其表述是如何的天馬行空。而這種信馬由韁式的討論,也對我劃分子域、切分BC帶來了很大的困擾??赡苡械娜藭f,你為什么不每次都擬定一個討論的主題和大致的提綱呢?而我能說的是,嗯,是的,我準備了,可是客戶思維的發散性和跳躍性永遠會給你帶來意外的“驚喜”。另一方面,是伴隨系統模塊逐漸增多后迅速膨脹的各類測試,以及繁瑣的UI測試,給我們的維護與迭代帶來的巨大心理和工作壓力。

    所以,我希望有一種方法學的指引,幫助我們更加專注于每次討論的主題,幫助我們更好地發現和切分BC。在張逸的《 如何識別Bounded Context 》一文中,我找到了方向。在文中,他倡導以領域中的 Who-What-Why-When-Where-How 為媒,以Actor為驅動,不斷堆砌出系統的關鍵用例,再以對用例的分類劃定問題的邊界,最終由此催生不同的BC切分。

    這更加深了我對 “講好故事、劃好邊界” 的認識,并由此引導我迅速地轉入了對BDD、Specification by Example的學習。

    初識BDD

    關于BDD,我在前一篇《行為驅動開發BDD概要》中已經做了一份《 BDD in Action 》的書摘,并按圖索驥嘗試了.NET平臺下的 Specflow + NUnit

    原文轉自:http://www.cnblogs.com/Abbey/p/5143674.html

    国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97