c# - 具有约束的产品配置器架构
问题描述
我正在为我大学的一个项目构建一个用于金属切削 CNC 机床的 CPQ(产品配置器)。
我使用 C# 和 WPF 作为我的技术。我对两者都非常熟悉,所以我对此没有任何问题。
我的问题是指组件依赖、约束的架构。
我将在 TreeView 中显示每个组件。所以我的基础抽象基类被称为“组件”,具有名称、描述、id等属性......
树的一个例子:
根部
- 机器
-- 主轴 1
--- 夹具
----
夹爪 -- 主轴 2
--
刀架 ---- 刀架
----- 刀具
因此,例如,如果用户将组件“Fixture”拖到树中,它就有一些约束。如果此组件在树中,则某些组件不能再在树中。
或者
如果用户将一个组件拖到树中,程序必须通知用户额外的必要组件将添加到树中,因为该组件依赖于其他组件(必须拥有)
所以基本上我需要对知道其他组件的组件进行约束。
约束类型为
+ MustHave
+ NotAllowed
+ Recommended
我正在考虑一个存储库类,它保存组件的 id 和对不同组件的约束。
如果有人能指出我正确的方向,我将不胜感激。
干杯,马克斯
解决方案
推荐阅读
- oracle - 从未输入 FORALL 时的 FORALL 和 sql%rowcount
- backup - 在 cpanel 备份中从 cpbackup-exclude.conf 中排除“备份”之类的名称
- django - 我看不到 Cathegory 列表管理员,如何解决
- python - 变量列表在列表中创建列表
- html - MailChimp 只是,总是将“颜色:继承!重要”放在链接上,在 Outlook 中将它们变成蓝色
- python - 将嵌套 dict 从 json 转换为数据框,其值为列
- sql-server - 在 SSIS 中合并 2 行 CSV 文件
- csv - 将非常大的 DataFrame 写入文本文件或拆分 DataFrame
- java - 如何使用 Java 中的 stream() 根据索引(位置)过滤列表中的元素?
- android - 当 Room 数据库发生变化时,LiveData 会更新我的 observable