Архитектура конфигуратора продукта с ограничениями - PullRequest
0 голосов
/ 02 апреля 2019

Я создаю CPQ (Конфигуратор продукта) для металлорежущих станков с ЧПУ для проекта в моем университете.

Я использую C # и WPF в качестве своей технологии.Я хорошо знаком с обоими, поэтому у меня нет проблем с этой целью.

Мой вопрос касается архитектуры компонентных зависимостей, ограничений.

Я покажу каждый компонент в TreeView.Поэтому мой базовый абстрактный базовый класс называется «Компонент» со свойствами, такими как имя, описание, идентификатор и т. Д. *

Пример дерева:

Root
- Machine
- шпиндель1
--- крепеж
---- челюсть
- шпиндель2
- держатель инструмента
---- патрон
----- инструмент

Так, например, если пользователь перетаскивает компонент «Fixture» в дерево, у него есть некоторые ограничения.Если этот компонент находится в дереве, некоторые компоненты больше не могут быть в дереве.

или

Если пользователь перетаскивает компонент в дерево, программа должна уведомить пользователя о том, что дополнительные необходимые компоненты будут добавлены в дерево, поскольку этот компонент зависит от других компонентов (должен иметь)

Так что в основном мне нужны ограничения на компоненты, которые знают о других компонентах.

Типы ограничений:
+ MustHave
+ NotAllowed
+ Рекомендуется

Я имею в виду класс репозитория, который содержит идентификатор компонента и ограничение длядругой компонент.

Буду признателен за любую помощь, если кто-нибудь сможет направить меня в правильном направлении.

Ура, Макс

...