0

私のドメインにはproduct entityといくつかの割引デコレータがあります。

// 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 を構築するにはどうすればよいですか?

新製品の作成段階で割引プランの一覧を表示できました。デコレータ コンストラクタのシグネチャ異なります。これを普遍的に利用する方法がわかりません。

わかった。Builderパターンを使用することが可能です。例が必要です。

アドバイスが必要です。Web UI (私の場合) でそれをどのように実装しますASP.NET MVCか?

4

1 に答える 1