Здравствуйте, VladD2, Вы писали:
AVK>>DSL для такого домена
VD>Ты еще не понял, что только ты видишь в приведенном тобой куске использования вашего АПИ — домен.
Возьми другой кусок.
VD> Никто кто видел твой код так и не смог понять что же он реально делает. Понятно что возится с какими-то документами, инвентарными карточками и прочей мурой, но как они друг с другом связаны, как представлены в программе, и какие там взаимосвязи никто понять не может
Это не имеет значения с точки зрения проектирования DSL. Потому что все, что ты перечислил, на момент создания DSL неизвестно. Все эти документы тоже определяются пользователем.
VD>Ты просил пример "возможно выдуманный". Я тебе дал выдуманный пример.
Где он?
AVK>>Кому нет никакой разницы? Лично мне разница есть.
VD>Лично ты просто не понимаешь природу ДСЛ-ей.
О, началось. Собственно, все разговоры с тобой так и заканчиваются.
VD>>>. Чтобы привести аналог твоему импертивному коду мне нужно изучить вашу модель.
AVK>>Я до сих пор не понимаю, о чем речь.
VD>О ОО-модели твоего приложения
Она задается пользователем и не может учитываться в DSL.
AVK>>Каких именно? Конкретно.
VD>Например, вот эти строки:
VD>VD>UncarryDocuments(objectsIds);
VD>var cardsDeleteSet = new HashSet<IInventoryCardBase>();
VD>var documents = Manager.Get(objectsIds);
VD>
VD>не имеют никакого отношения к решаемой задачи. Это чисты болерплэйт.
Первая строка — нет. Это бизнес-операция.
VD> Вызван он тем, что описание ведется не на подходщем для этого языке, а на универсальном зыке с использованием АПИ.
Как это могло бы выглядеть на подходящем языке?
VD> Ну, и такого кода в этом примере большая часть.
Но привести ты смог только один момент?
VD>>> Куча приведений типов. Вызовов АПИ и т.п.
AVK>>Нет там никакой кучи.
VD>Там ужасная лапша.
Это все опять ни о чем.
VD> И только ты, привыкший к ней, не можешь (не хочешь) этого заметить.
Я к ней не привыкший.
VD> А ведь тебе уже человека 4 сказали это.
А чего не 8?
AVK>>Кроме твоего чутья — есть что нибудь, что можно обсуждать?
VD>Конечно!
Где оно?
VD> Опиши модель на базе которой построена эта лапша и я обязательно постараюсь написать код достаточный для решения проблемы.
Я тебе уже сказал, что модель определяется прикладником и не может напрямую учитываться в DSL.
VD>Но, ты меня уж извини. Отвечать еще на одно сообщения в стиле "да там все ОК... да там все очевидно..." я не буду. Если тебе интересен ответ, то потрудись описать все объекты участвующие в коде, все связи между ними, и опиши почему все именно так.... << RSDN@Home 1.2.0 alpha 5 rev. 31 on Windows 7 6.1.7601.65536>>