c# - 如何在领域驱动设计中为领域模型编写领域逻辑?

标签 c# domain-driven-design asp.net-mvc-5

我一直在为领域模型编写领域逻辑。

我是 DDD 的新手,已经阅读了一些关于 DDD 的文章。我为我们的项目收集了一些领域对象,但我无法弄清楚领域逻辑是什么意思?

我有一个名为“Account”的域模型类。

当用户注册他们的新帐户时,他们必须在我们的项目中选择两种类型的帐户之一。

假设一种账户类型是个人账户,另一种是企业账户。

Account 模型类如下所示:

public class Account
    {
            private AccountType _accountType;
            private string _userRole;
            private Address _address;
            private BusinessInfo _businessInfo;
            private string _contactPhoneNumber;
            private string _citizenshipCountryCode;
            private DateTime _dateOfBirth;
            private string _emailAddress;
            private string _preferredLanguage;
            private string _registrationType;
            private DateTime _createdDateTime;
    }

我没有发布我的完整类,但上面是帐户域的属性。

如果用户选择企业帐户,则他必须填写企业信息详细信息,否则无需填写。

根据我的情况,如何为帐户域类选择域逻辑。

领域逻辑基本有什么思路或者应该如何选择?

任何帮助都将不胜感激。

最佳答案

2 我听起来好像您有不同类型的帐户,它们都有一些共同的部分,但也有一些特定于每种类型的部分。

您是否考虑过用通用的东西创建一个基本帐户类,然后创建从该基类继承的特定帐户类型?

基类可以将所有必要的信息作为其构造函数中的参数 并公开常见操作..

同样,专用类(BusinessAccount?)可以在其构造函数中将通用内容之上的任何必要内容作为参数。

关于c# - 如何在领域驱动设计中为领域模型编写领域逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22788414/

相关文章:

.net - 我是否在多个 Entity Framework 有界上下文中添加相同的表

database - 领域驱动设计 (DDD) 和数据库生成的报告

c# - AngularJs 和 ASP.NET MVC 5 - ng-model 覆盖文本框值

c# - asp.net mvc开发者的Java框架推荐

c# - 将类添加到最后一项

domain-driven-design - 如何在 DDD 中正确定义聚合?

asp.net - 在 ASP.NET 中 bundle 单个文件的成本/ yield 是什么?

c# - 如何注释 DTO 以启用不区分大小写的映射?

c# - 代码分析规则异常情况

asp.net-mvc-5 - MVC5 UseGoogleAuthentication 神秘方法