- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,不要认为我正在尝试让其他人完成工作,但我正在尝试为域模型设计类图,而我所做的事情可能是错误的,因为我被卡住了,所以我只是想获得有关我没有正确执行的操作的提示以继续...
例如,用户需要从产品列表中按类别搜索产品。每个类别可能有子类别,子类别可能有子类别等。
用户还需要获取至少有一个产品的目录树列表。例如,如果这是所有类别树:
我无法返回至少有一个产品的类别树,因为我也会得到所有子类别,但不是每个子类别都有与之关联的产品。
我也无法从 Category.subCategories 集合中删除项目以仅保留具有关联产品的项目,因为这会改变可能在其他地方共享的类别实体,这不是我想要的。
我想做一个副本,但我会在同一上下文中获得同一实体的两个不同实例,这不是一件坏事吗?
现在我没有得到我不想要的每个类别的子类别的集合,我只知道它的父类别,这没关系。
但是,这会创建一个只能从底部到顶部导航的类别树,对于始终需要顶部 -> 底部类别导航的 ProductList 客户端来说,这没有任何意义。
作为解决方案,我想到了下图,但我不确定它是否很好,因为它有点重复,而且 CategoryTreeItem 在领域语言中似乎没有太大意义。
我做错了什么?
最佳答案
这与其说是模型问题,不如说是算法问题。你的第一种方法完全没问题,除非你对约束保持沉默。因此,您可以为任何产品分配类别或子类别。如果您分配一个子类别,这意味着根据此模型,产品也将具有父类别。为清楚起见,我将附加一个约束条件,告知需要将产品分配给最知名的类别粒度。例如。吉他产品将分配给 Guitar
类别。像 Stick 这样更奇怪的乐器将获得 Strings
类别(这并不意味着它是吉他和 fiddle ,而是属于更高的类别。
现在,当您将实现 Category
时,您可能会想到一种方法来返回 assignedInstruments()
的集合,对于 Guitar
将返回 Fender
、Alhambra
等。您可以扩充此 assignedInstruments(levelUp:BOOL)
以获得上述类别的乐器。
通常您必须清楚类别分配的基本含义。如果您更改分配,产品将最终出现在另一个列表中。
关于uml - 为域模型设计类图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35067559/
我正在为 Apple Watch Extension 设计 UML 图。我应该如何使用 UML 表示主机应用程序? UML 节点还是 UML 组件?请注意,扩展应用程序和 iPhone 应用程序(主机
UML 类图是描述类及其关系的标准图形符号。 是否有标准的文本符号 (DSL) 来描述相同的内容?不要说 XMI 或 EMF;-) 我认为您可以使用 Corba IDL 来做到这一点,并为类使用接口(
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
假设我正在设计一个分布式应用程序: 它由一台主机组成,即公司的前端Web服务(CompanyWS)和一台或多台主机,比如三台,即公司的分布式仓库。每个仓库都是一个 Web 服务 (WarehouseW
是否有任何正式方式表明函数参数是可选的? 例如,在这张图片中: 我想通知您可以填充 nodes_clicked 参数或将其留空。 谢谢。 最佳答案 可选参数在 UML 中没有任何处理,因为它只是编译器
UML 序列图中的垂直矩形表示什么? 例如我想知道绿色箭头指向的矩形的含义。这些矩形的高度有什么意义吗? 最佳答案 垂直矩形表示 执行规范 . 执行规范是对象交互的一部分,表示对象在执行某些事件或只是
像下面用 StarUML 绘制的 UML 状态图 (SD) 中是否允许没有直接转换的状态? State1 不直接参与任何转换,所以我怀疑这在 UML 中是否允许/可取。我认为在我的应用程序中,我实际上
我正在使用 Enterprise Architect 制作 UML 类图(并最终用它生成 PHP5 代码)。我可以为类添加属性。对于每个属性,我可以选择一个构造型:DomainCodedValue、F
我阅读了域模型及其重要性,我有以下疑问: 领域模型可以解决什么样的问题?换句话说,对于每个问题,我应该建立一个域模型吗? 据我所知,领域模型使用类图表示。类图和领域模型之间没有区别吗? 我也想了解词汇
首先,我对 UML 还是很陌生;但是,非常感兴趣并且正在尝试尽可能多地了解它。 话虽如此,我正处于被指示组装“上下文图”的情况。我觉得我好像理解什么是上下文图的概念以及如何创建上下文图,所以我觉得我没
我们在学校学习行为状态图的转换具有语法: list of events [guard condition] / list of actions 但是我在 Internet 上找不到任何使用多个事件进行
在维基百科上,我读到关联关系是实例级别的关系,所以我们谈论的是两个类的对象之间的关系。 当我们实际绘制类图时,为什么要在类元素或块而不是对象上使用关联?还有一些类级别的关系,我们再次使用类元素。由于我
我无法理解 UML 中的限定符是什么。 例如,在扫描的页面中,有一个名为 “SharedRegister”,其中包含“state”和“plateNumber”。 为什么不使用一个名为 SharerRe
大多数嵌入式系统应用程序都是用 C 语言编写的,即非 OOP。但是 UML 是为 OO 设计的。所以我的问题是为什么人们提倡和使用 UML 用于嵌入式系统(和实时嵌入式系统)? 最佳答案 UML 不仅
我们如何在 UML 图中显示一个线程被调用并反过来调用其他线程。这看起来更像是一个工作流。是否可以用 UML 表示 最佳答案 Sequence Diagram应该做的工作。 关于uml - 类图中的线
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
我有一个关于 uml 组件图的问题:正如我在 Wikipedia 中看到的那样,可以创建我自己的“组件类型”,如 > , >等等。我以为我只能说>和 > ?!这些条目是刻板印象还是什么?我想对像 or
我知道依赖关系是用条纹箭头描述的,例如: Client ----->----> Server 我发现其他关系(关联、组合、聚合)通常需要多重性,但是,我不确定依赖关系是否需要多重性。我应该在上图的两边
我正在尝试创建 UML 图。例如,我有一个带有方法 a() 的类 A 和扩展 A 并覆盖方法 a() 的类 B。是否有任何标准来指示 UML 中的重写方法? 最佳答案 不,对于覆盖父类上的操作的操作没
假设您有一个更大的汽车配置文件的摘录: 现在我想为汽车定义一些约束,比如这些约束状态之一,如果 attrA是 true ,然后 attrB必须是 false像这样使用 OCL: Context UML
我是一名优秀的程序员,十分优秀!