Контрактники...
А том что должны и А и Б должны обрабатываться в данной одной реализации. И не различными частями.
Я все еще не понял проблему.
Предположим есть 2 детали - А и Б
И есть всего 3 варианта:
1) А и Б всегда делаются на разных рабочих местах и на этих рабочих местах установлено разное ПО (ПО все заранее знает о детали). - тут все понятно, есть только одна деталь и под нее написан софт.
2) А и Б всегда делаются на разных рабочих местах и на этих рабочих местах установлено одинаковое ПО (ПО все заранее знает о детали) - тут тоже все ясно, есть 2 детали и ПО конфигурируется под конкретную деталь
3) А и Б могут делаться на одном рабочем месте (ПО должно
определить какую деталь делать) - тут тоже все ясно :) должны быть какие входные признаки для определения типа детали.
Других вариантов вроде как нет. О каком из этих 3-х вариантов ты говоришь?
Единственный выход - переписать всё с нуля, заложив правильную архитектуру вместо никакой.
Для того, чтобы переписать систему с нуля нужно четкое понимание необходимости этого действия + экономическая целесообразность :)
Никто не будет переписывать систему до тех пор, пока сопровождение обходится дешевле, чем написание новой.