为一个简单的折扣客户端构建一个用户界面

本文关键字:一个 客户端 构建 用户界面 简单 | 更新日期: 2023-09-27 18:29:48

在我的域中有产品实体和几个折扣装饰器

// the client
[Test]
public void ChainedDiscountShouldWork() { 
    // arrange
    var product = new SimpleProduct {
        Id = Guid.NewGuid(),
        PricePerPiece = 10M,
        SelectedQuantity = 10,
        Title = "simple product"
    };
    var itemsToApplyTheDiscount = 5;
    var itemsYouGetFree = 2;
    var discountPercentage = 0.3M;
    var discountA = new BuyXGetYFreeDecorator(product, itemsToApplyTheDiscount, itemsYouGetFree);
    var discountB = new FixedDiscountDecorator(discountA, discountPercentage);
    // act
    var totalCost = discountB.CalculateCost();
    // assert
    Assert.AreEqual(42M, totalCost);
}

我如何构建UI,以便像在测试中那样应用(连锁)折扣?

我可以在创建新产品的阶段展示一份折扣计划列表decorators构造函数的签名不同。不知道如何普遍利用这一点。

好的。可以使用Builder模式。需要一个例子。

需要建议。您将如何在web UI(在我的案例中为ASP.NET MVC)上实现这一点?

为一个简单的折扣客户端构建一个用户界面

也许你应该了解一下部分视图的概念,这篇文章会对你有所帮助。http://rachelappel.com/razor/partial-views-in-asp-net-mvc-3-w-the-razor-view-engine/

在App.config中保留折扣数据是可以的,但可以更改或更新,因此请确保用户对其有一定的访问权限。在Live环境中,我们不应该过多地操作配置,那么把它放在DB中怎么样?我会这么做,把它放在数据库里。