Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 表示的类模型放在哪里?_C#_Asp.net Mvc 3 - Fatal编程技术网

C# 表示的类模型放在哪里?

C# 表示的类模型放在哪里?,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我正在根据Sanderson Pro ASp.net mvc3一书创建一个项目。 但我有个问题。 我有一个CreateDiscountViewByUser类-一个描述用户创建折扣的类。 我不知道该把它放在哪里。 在她的书中,我必须放上myproject.WebUI。但我想在myproject.Domain DiscountRepository中创建一个方法。 但是myprojec.Domain会看到myproject.WebUI。 我该怎么办 另一个大问题是mypoject.Domain——类库

我正在根据Sanderson Pro ASp.net mvc3一书创建一个项目。 但我有个问题。 我有一个CreateDiscountViewByUser类-一个描述用户创建折扣的类。 我不知道该把它放在哪里。 在她的书中,我必须放上myproject.WebUI。但我想在myproject.Domain DiscountRepository中创建一个方法。 但是myprojec.Domain会看到myproject.WebUI。 我该怎么办


另一个大问题是mypoject.Domain——类库。他没有使用System.ComponentModel.DataAnnotations的空间

我不知道这本书,但是

您的域不应该知道任何有关视图或数据呈现方式的信息。它也不应该知道您如何从存储库获取数据。它的工作是只通过改变状态来控制域逻辑。 存储库实现也应该位于不同的项目中。然后CreateDiscountViewByUser应该在UI项目中,因为它与视图密切相关。如果必须在类的属性中放置DataAnnotations,则使用一个

因此,我的建议是:

    • 使用者
    • 产品有一个方法
      Product.ApplyDiscount(折扣))
    • 国际储蓄银行
    • IUSER存储库
  • 基础设施*了解该领域

    • DiscountRepository:我是DiscountRepository
  • UI*了解域和基础架构
    • CreateDiscountViewByUser
    • DTOs