日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bdd行为驱动开发 java_行为驱动开发(BDD)如何与领域驱动设计(DDD)结合?

發布時間:2025/4/5 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bdd行为驱动开发 java_行为驱动开发(BDD)如何与领域驱动设计(DDD)结合? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BDD是從TDD發展過來的,也屬于DDD中一種描述業務的無處不在的統一語言,它的描述格式是:

As a [Role]

I want [Feature]

so that [benefit]

用中文的意思來理解,我認為是:作為某個角色,我需要某些功能或權利,這樣能得到相應利益。 正如職責驅動開發中獎職責責任作為分析突破口一樣,這里好像是從這個方面作為切入點分析的。

這樣一種描述方式能夠幫助我們從用戶故事中不斷尋找到那種傳遞業務價值核心的信息。因為大部分我們的客戶總是這樣問:嗯,我希望有這樣的功能....你看這樣做可以嗎?( . . . I want [some feature] so that [I just do, ok?].)

從以上用戶故事中,我們能發現如果軟件能夠正確實施用戶這些行為,我們可以將它們作為系統的測試方式和驗收標準。

那么如何能保證軟件正確實施用戶這些需求行為呢?對于簡單容易明白的,我們能一下子能知道掌握,但是復雜一點的怎么辦?我們可以使用一種模板來套用截取。

這個模板是:

Given some initial context (the givens),

When an event occurs,

then ensure some outcomes.

給出某個場景,但事件發生時,將有什么結果發生。

我們以取款機ATM來舉例這個模板的使用,假設用戶故事是這樣:

As a customer,

I want to withdraw cash from an ATM,

so that I don’t have to wait in line at the bank.

作為一個客戶,我想從ATM機中提取現金,這樣(好處結果是),我不用在銀行排隊等候。

那么我們是如何知道我們已經成功傳遞了這個用戶故事呢?對于這個故事的理解我們需要考慮幾種場景情況:該客戶賬戶可能是一個信用卡賬戶,有可能存在余款不夠需要透支,而透支有存在透支額的問題,取款多少或多于或少于透支額等等多個可能情況。

我們使用given-when-then模板變成如下:

+Scenario場景 1: Account is in credit+ 賬戶是信用卡

Given the account is in credit 給出賬戶是信用卡

And the card is valid 并且卡是有效的

And the dispenser contains cash 并且ATM機有現金

When the customer requests cash 當客戶請求取出現金時

Then ensure the account is debited 那么確保賬戶余額被扣除

And ensure cash is dispensed 并且確保現金被吐出

And ensure the card is returned 并且確保信用卡能退還。

+Scenario場景 2: Account is overdrawn past the overdraft limit+

賬戶已經透支。

Given the account is overdrawn 給出賬戶已經透支場景

And the card is valid 并且這個卡是有效的

When the customer requests cash 但客戶請求取出現金時

Then ensure a rejection message is displayed 那么確保拒絕信息顯示

And ensure cash is not dispensed 并且確保現金不會吐出

And ensure the card is returned 并且確保信用卡能退還。

對于上面兩種不同場景,我們發現相同的點:事件 給出given 結果。

也就是說,given-when-then模板能夠充分表達這幾種不同場景發生的情況。

總結

以上是生活随笔為你收集整理的bdd行为驱动开发 java_行为驱动开发(BDD)如何与领域驱动设计(DDD)结合?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。