Object 如何在OO中设计域驱动设计,以适应不同实体的属性?

Object 如何在OO中设计域驱动设计,以适应不同实体的属性?,object,model,entity,domain-driven-design,Object,Model,Entity,Domain Driven Design,问题 我正在创建一个IP地址管理解决方案。我希望能够向模型中的每个对象添加属性。在进一步讨论之前,我将解释什么是属性。属性就是我们将与对象关联的名称/值对。例如: 网络对象 属性-建筑=5 属性-部门=销售 主机对象 属性-建筑=5 属性-部门=销售 添加属性的原因是查询系统以查找信息。例如,我们在5号楼中有哪些网络,或者“查找所有属性等于X的对象” DDD系统设计 网络是一个通过服务操纵的模型。例如,有一个网络服务可以执行CRUD,它接受一个网络对象 添加跨多个实体的属性的问题/想法 假设我有

问题

我正在创建一个IP地址管理解决方案。我希望能够向模型中的每个对象添加属性。在进一步讨论之前,我将解释什么是属性。属性就是我们将与对象关联的名称/值对。例如:

网络对象 属性-建筑=5 属性-部门=销售

主机对象 属性-建筑=5 属性-部门=销售

添加属性的原因是查询系统以查找信息。例如,我们在5号楼中有哪些网络,或者“查找所有属性等于X的对象”

DDD系统设计

网络是一个通过服务操纵的模型。例如,有一个网络服务可以执行CRUD,它接受一个网络对象

添加跨多个实体的属性的问题/想法

假设我有一个属性集合(其中包含该集合对象内数组中的实际属性)。此属性集合将添加到我的网络中

我们是否应该在每个实体(如网络)的服务中为属性添加功能的每个部分? 我们是否应该为属性创建一个单独的服务,但我不确定如何管理需要属性的对象

我们想向系统询问的问题类型包括:

问:如何获得属性为X的所有实体


现在我不想再考虑数据库了,因为那是以后的事了。我只是想了解一下我们可以从对象级别使用领域驱动设计做些什么。

您似乎拥有的是一个分类系统。它很可能是一个子领域。我认为您不想将此功能添加到每个需要分类的域聚合根中

无论如何,您提到它主要用于查询/查找对象。我会选择一个通用子域,您可以从一个或多个BC中选择符合条件的AR,然后将这些附加属性分配给分类BC中的AR


然后,您将使用分类BC查找相关ID和有关所需AR的附加信息,然后从那里导航。

您能澄清AR和BC的含义吗?AR==聚合根/BC==有界上下文您有类似的示例吗?不幸的是,我没有DDD示例。我在几年前做过类似的事情(不是DDD),所以这个概念应该是合理的。