gpt4 book ai didi

c# - 域模型上的切换逻辑

转载 作者:行者123 更新时间:2023-11-30 22:37:38 26 4
gpt4 key购买 nike

我目前正在使用 ASP.NET MVC3 和 Entity Framework 4.1 Code First 开发一个应用程序,并且还尝试一点一点地应用 DDD,因为我才刚刚开始学习它。

我有一个模型:

public class ClassA
{
public decimal MonthlyRate { get; set; }
public virtual decimal DailyRate
{
get { return this.MonthlyRate / 30; }
private set { }
}
}

现在,这段代码可以工作,但如果我在 View 上有一个标志(将由用户检查)触发新的计算怎么办。假设标志不是除以 30,现在月费率将除以 5。有什么建议吗?谢谢。

最佳答案

interface IDivideLogic
{
int DivideNumber{get;set;}
}

class DivideLogic : IDivideLogic
{
public DivideLogic()
{
DivideNumber = 30;
}
public DivideLogic(int divideNumber)
{
DivideNumber = divideNumber;
}
public int DivideNumber{get;set;}
}

public class ClassA
{
public IDivideLogic DivideLogic {get;set;}
public decimal MonthlyRate { get; set; }
public virtual decimal DailyRate
{
get { return this.MonthlyRate / DivideLogic.DivideNumber; }
private set { }
}
}

然后你可以随时切换它

ClassA obj = new ClassA();
obj.DivideLogic = new DivideLogic(5);

这适用于更复杂的情况。在您的情况下,它可能设计得太过分了。希望你明白这一点

关于c# - 域模型上的切换逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6408750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com