Есть XML-файлы, которые парсятся и превращаются в DOM-объекты. Есть «модельки», которые умеют работать, каждая со своей частью DOMа и перестраивать его.
Иерархия (не наследования) управляющих объектов такова («сверху» в глубину по порядку):
1) App — загружает/сохраняет XML документы (можно открывать несколько).
2) XmlDocument — чтение и сохранение, содержит объекты DomDocument, rootElement и все основные(!) «модельки» (вне зависимости от глубины вложенности обслуживаемых ими данных).
3) Все эти «модельки» — добавляют, удаляют, модифицируют DOM-узлы.
Это выглядит сносно.
Такой кухней нужно как-то управлять с кнопочек и менюшек. Мой вопрос заключается в следующем:
По вашему, КТО должен ловить команды прилетающие с гуя?
а) App/XmlDocument (дёргая затем нужные модельки)?
б) Сами модельки?
в) Всё херня — переделывай. Надо так: ...
Сейчас наговнокодил смешанно, дёргаются все почуть и по всякому. И мне это не нравится, если продолжу в таком же духе, чую — запутается всё.
Аргументируйте, пожалуйста, свой ответ. Или можно, например, рассказать историю успеха (у нас было так, сделали вот эдак и оно хорошо встало).
annulen, i-rinat, EXL, RazrFalcon и, конечно же, многоуважаемый анонимус.