国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

ZOMBIES:如何在軟件開發中實現業務需求(四)

開發
完善你的電商應用,使它能夠正確處理業務規則。

在前面的文章中,我已經解釋了為什么將編程問題看作一整群喪尸來處理是錯誤的。我用 ZOMBIES 方法來解釋為什么循序漸進地處理問題更好。

ZOMBIES 表示以下首字母縮寫:

  • Z – 最簡場景(Zero)
  • O – 單元素場景(One)
  • M – 多元素場景(Many or more complex)
  • B – 邊界行為(Boundary behaviors)
  • I – 接口定義(Interface definition)
  • E – 處理特殊行為(Exercise exceptional behavior)
  • S – 簡單場景用簡單的解決方案(Simple scenarios, simple solutions)

在系列的前三篇文章中,我展示了 ZOMBIES 方法的前五項。第一篇中 實現了最簡場景,它為代碼提供了最簡可行路徑。第二篇文章中執行了 單元素場景和多元素場景上的測試。第三篇中介紹了 邊界和接口。在本文中,我將帶你了解倒數第二個方法:處理特殊行為。

處理特殊行為

在開發一個電子購物應用時,你需要從產品負責人或贊助商那里了解需要采用什么銷售策略。

毫無疑問,與任何電子商業活動一樣,你需要通過制定銷售策略來誘導顧客進行消費。假設有如下的銷售策略:訂單金額超過 ¥500 時可以享受一定的折扣優惠。

現在將這個銷售策略轉換為可運行期望:

[Fact]
public void Add2ItemsTotal600GrandTotal540() {
        var expectedGrandTotal = 540.00;
        var actualGrandTotal = 0.00;
        Assert.Equal(expectedGrandTotal, actualGrandTotal);
}

這個正面樣例表示的銷售策略是,如果訂單總額為 ¥600.00,那么 shoppingAPI 會將其減價為 ¥540.00。上面的代碼偽造了一個失敗驗證用例。現在修改它,讓它能夠通過測試:

[Fact]
public void Add2ItemsTotal600GrandTotal540() {
        var expectedGrandTotal = 540.00;
        Hashtable item = new Hashtable();
        item.Add("00000001", 200.00);
        shoppingAPI.AddItem(item);
        Hashtable item2 = new Hashtable();
        item2.Add("00000002", 400.00);
        shoppingAPI.AddItem(item2);
        var actualGrandTotal = shoppingAPI.CalculateGrandTotal();
        Assert.Equal(expectedGrandTotal, actualGrandTotal);
}

在這個正樣例中,你向購物框加入一件價值 ¥200 的商品和一件價值 ¥400 的商品,使總價達到 ¥600 。當調用 CalculateGrandTotal() 方法時,你期望總價是 ¥540。

這個微測試能夠通過嗎?

[xUnit.net 00:00:00.57] tests.UnitTest1.Add2ItemsTotal600GrandTotal540 [FAIL]
  X tests.UnitTest1.Add2ItemsTotal600GrandTotal540 [2ms]
  Error Message:
   Assert.Equal() Failure
Expected: 540
Actual: 600
[...]

很可惜,它失敗了。你期望的結果是 ¥540,但計算結果為 ¥600。為什么會這樣呢?那是因為你還沒有告訴系統在訂單總價大于 ¥500 時怎么進行折扣計算。

現在來實現折扣計算邏輯。根據上面的正樣例可知,當訂單總價為 ¥600(超過了營銷策略的閾值 ¥500)時,期望的最終總價為 ¥540。也就是說系統需要從訂單總額中減去 ¥60。剛好是是原訂單總價的 10%。因此該銷售規則就是當訂單總額超過 ¥500 時享受九折優惠。

在 ShippingAPI 類中實現該處理邏輯:

private double Calculate10PercentDiscount(double total) {
        double discount = 0.00;
        if(total > 500.00) {
                discount = (total/100) * 10;
        }
        return discount;
}

首先,檢查訂單總額是否大于 ¥500 。如果是,則計算出總額的 10%。

你還需要告訴系統怎么從訂單總額中減去 10%。改動非常直接:

return grandTotal - Calculate10PercentDiscount(grandTotal);

到此,所有測試都能夠通過。你又一次享受到系統處于穩態的歡愉。你的代碼通過處理特殊行為實現了需要的銷售策略。

最后一步

現在我已經介紹完 ZOMBIE 了,只剩下 S 了。我將會在最后一篇中介紹它。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-05-30 18:19:23

ZOMBIES開發軟件

2023-05-16 17:34:49

ZOMBIES軟件開發

2020-02-19 10:45:04

開發技能代碼

2009-12-17 12:58:51

UML之父架構

2023-05-13 17:38:03

ZOMBIES軟件開發

2022-09-15 10:23:17

業務開發自我成長

2011-05-19 08:57:41

軟件開發項目

2020-12-03 15:54:15

軟件開發工具

2021-11-02 20:39:35

數字化

2017-09-19 09:14:40

2020-06-02 10:36:42

云計算軟件即服務IT

2021-02-05 15:01:40

開發軟件職位

2023-02-09 16:48:12

軟件開發測試結對測試

2010-07-05 11:54:54

RationalJazz需求管理

2021-08-31 08:00:00

開發軟件框架

2011-07-04 17:09:54

2009-03-04 17:48:05

虛擬化VMware微軟

2011-08-11 09:56:50

模式

2010-06-09 12:36:30

UML業務建模實例

2020-06-24 11:21:47

軟件開發面試
點贊
收藏

51CTO技術棧公眾號

欧美午夜精品久久久久久孕妇 | 国产69精品久久久久777| 国产精品国模大尺度视频| 欧美日韩美女一区二区| 久久九九全国免费精品观看| 91在线免费观看网站| 国产人妻人伦精品| 伊人春色在线| 亚洲天堂资源| 91日韩在线| 国产精品一级二级三级| 福利一区视频在线观看| 国产午夜精品视频| 亚洲自拍高清视频网站| 男女啪啪免费观看| 日韩黄色影片| 小说区图片区亚洲| 亚洲久久一区| 亚洲成人www| 亚洲人成网站在线| 精品国产一区二区三区不卡| 午夜精品久久久久久久久久久久| 久久久久久久久一区二区| 免费看污污网站| 国产激情在线| 天堂99x99es久久精品免费| 麻豆国产精品一区二区三区 | 亚洲成精国产精品女| 亚洲一区www| αv一区二区三区| 日本成人黄色网| 日本片在线观看| 欧美日韩激情| 99re热视频这里只精品| 欧美一区二区福利视频| 国产成人精品亚洲精品| 精品人妻大屁股白浆无码| 涩涩视频在线观看免费| 久久久久亚洲精品中文字幕| 日韩av成人高清| 精品女厕一区二区三区| 欧美成人黑人xx视频免费观看| 欧美黑人3p| 一二三四中文在线| 二区三区精品| 卡一卡二国产精品| 在线观看日产精品| 欧美一级淫片aaaaaaa视频| 日本精品免费视频| 最新97超碰在线| 国产午夜一区| www日韩大片| 亚洲精品白浆高清久久久久久| 亚洲综合最新在线| 成年人在线观看视频免费| 九色porny自拍视频在线观看| 午夜日本精品| 亚洲精品久久嫩草网站秘色| zzijzzij亚洲日本成熟少妇| 亚洲色图自拍| 日本中文字幕电影在线免费观看 | 1069男同网址| 亚洲精品tv| 久久精品国产网站| 欧美三级中文字幕| 国产精品久久精品| 国产精彩免费视频| 日韩在线影院| 久久精品五月| 午夜国产精品一区| 91成人在线播放| 国产又大又硬又粗| 国产另类xxxxhd高清| 青青草视频一区| 欧美区一区二区三区| 91影院在线免费观看视频| 免费人成短视频在线观看网站| 91久久精品无嫩草影院| 99视频有精品| 国产一区二区三区在线看| 中文字幕在线亚洲三区| 亚洲小说区图片| 一区二区日本视频| 欧美性色欧美a在线播放| 国产日韩欧美在线看| 日本特黄a级高清免费大片| 91欧美极品| 久久综合九色欧美综合狠狠| 国产亚洲欧美视频| 国产精品一区在线免费观看| √8天堂资源地址中文在线| 丝袜诱惑制服诱惑色一区在线观看| 欧美日韩激情一区二区| 96国产粉嫩美女| 在线视频手机国产| 欧美精品尤物在线观看| 亚洲另类中文字| 91成人在线视频| 黄网视频在线观看| 欧美电影免费网站| 国产精品二区一区二区aⅴ污介绍| 欧美俄罗斯乱妇| 无人在线观看的免费高清视频| 小说区图片区亚洲| 白白色 亚洲乱淫| 最新国产成人av网站网址麻豆| 国产av熟女一区二区三区| 欧美大片免费高清观看| 国产盗摄视频一区二区三区| 亚洲夜晚福利在线观看| 91午夜在线观看| 涩涩涩久久久成人精品| 91网页版在线| 欧美肥臀大乳一区二区免费视频| 116极品美女午夜一级| 九九热这里有精品| 99精品视频中文字幕| 久久久精品久久| 农村妇女精品一二区| 综合中文字幕| 亚洲色欲色欲www在线观看| 日韩av电影国产| 一二三四社区在线视频| 一本精品一区二区三区| 欧美性色综合网| 欧美日韩在线精品一区二区三区| 青青在线视频| 国产乱码字幕精品高清av| 日韩视频免费观看| 狠狠热免费视频| 天海翼亚洲一区二区三区| 午夜精品爽啪视频| 国产精品视频一区二区三区经| 91麻豆国产福利在线观看宅福利| 麻豆中文一区二区| 中文字幕免费精品一区| 久久婷婷国产91天堂综合精品| 亚欧日韩另类中文欧美| 亚洲六月丁香色婷婷综合久久| 国产主播欧美精品| 一级毛片视频在线| 青娱乐精品在线视频| 国产亚洲精品成人av久久ww| 久久久久久久午夜| 欧美一性一交| 色狠狠一区二区三区香蕉| 奇米888一区二区三区| 激情开心成人网| 中文字幕欧美区| 国产综合久久久久| 菠萝菠萝蜜在线观看| 国产黄色精品网站| 久久久久久久久久国产| 国产对白在线正在播放| 中文精品视频| 亚洲女人被黑人巨大进入| 亚洲爆乳无码专区| 精品国产一区二区三区| 欧美日韩国产欧美日美国产精品| 超碰免费在线公开| 日本精品在线播放| 亚洲伊人色欲综合网| 精品免费视频123区| 欧美大胆性生话| 中文字幕一区二区三区色视频 | 久久影院午夜精品| 久久久精品综合| 91精品国产综合久久久久久蜜臀| 91网页在线观看| 国产东北露脸精品视频| 91成人在线观看国产| 精品av中文字幕在线毛片| 日韩av不卡在线观看| 久久av中文字幕| 在线看片你懂得| 免费人成黄页网站在线一区二区| 麻豆一区二区在线观看| 在线视频2区| 精品一区二区三区久久久| 高清欧美性猛交| 91成人高清| 国产传媒日韩欧美成人| 欧洲美女7788成人免费视频| 欧美激情视频在线播放| av毛片久久久久**hd| 国产精品最新在线观看| 久久香蕉av| 国产日韩高清在线| 成人片在线免费看| 高清在线一区| 韩曰欧美视频免费观看| 麻豆md0077饥渴少妇| 最新亚洲精品| 精品国产a毛片| 九色丨porny丨| 久久精品盗摄| 久久久久久成人精品| 三级外国片在线观看视频| 久久综合五月天婷婷伊人| 成人黄动漫网站免费|