Re[21]: Совсем чуть чуть про C# 5
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.12.08 11:40
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ну если такими крупными блоками, то, наверное, детали. Есть еще, кстати, deploy time кодогенерация. Типичный пример — кодогенерация в ASP.NET.


Это пример — пре компайл-тайм-кодогенерации. Ты пишешь шаблон по которому перед компиляцией основного кода (код-бихайнд) генерируется логика связанная со страницей.

Деплой, не деплой раяли не играет. Принципы, возможности и ограничения все те же. Например, невозможность анализировать ничего за пределами базовой модели (АСП-страницы).

Собственно ограничения и вызваны стадией.
1. Стадия "до компиляции" не позволяет использовать знания о коде и рантайм-знания.
2. Стадия "во время компиляции" позволяет использовать знания о коде, но не знания полученные в рантайме.
3. Стадия "во время исполнения" позволяет использовать любые знания.

Проблемы подхода 1 — дикая ограниченность.
Проблемы подхода 2 — невозможность использовать рантайм-данных.
Проблемы подхода 3 — дикое неудобство при разработке и отладке.

В прочем, подходы 1 и 2 без проблем переносятся в рантайм (и деплойтайм).

Вот твой генератор классов по модели в ХМЛ — это подход 1 перенесенный в деплой-тайм.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.