Вообще, ИМХО, это сигнал…
Вот как все это работает в человеческом сообществе: с одной стороны есть милиция и судебные органы, которые баннят косяки в поведении свободных граждан, но с другой стороны должны приниматься меры, чтобы этих косяков возникало как можно меньше.
Ведь хорошее государство — это не то, где замечательные законы и хорошо работает полиция и тюрьмы, а то, где при хороших законах мало у кого возникает потребность их нарушать…
В этомнаправлении какие-то разработки вообще ведутся в бэкофисе Хабра?
Самое интересное, что саморегулируемое сообщество (с) Хабра может запросто вывести мерзкий кросс-пост на главную страницу.
Спрашивается, почему такое происходит?
По идее, всякое административное вмешательство в процессы контентогенерации сродни читерству.
А иначе «саморегулируемое сообщество» приобретает такой же смысл, как «свободное демократическое общество» в свете событий в мире за последние N*10 лет
Безусловно, преждевременная оптимизация — зло. Но зато если она «навалилась» — для этого и написан этот пост :)
А про разбор expression trees придется дождаться подходящей проблемы в текущем проекте :)
Могу отдать тему на дальнейшую разработку :)
А область применения этой техники такая же, как и у рефлексии, в общем-то…
Например, задачка валидации состояния объектов на основе информации из какого-то файла конфигурации или даже DSL. Или самый «подножный» пример — это разработка своего супер-универсального DAL, чтобы одним методом проинициализировать любой тип данными из БД…
var anObj = new SomeComponent();
Assert.Taht(anObj.Property1, Is.True);
вместо явного указания такого плана
ISomeComponent anObj = new SomeComponent();
Assert.Taht(anObj.Property1, Is.True);
Вообще, ИМХО, это сигнал…
Вот как все это работает в человеческом сообществе: с одной стороны есть милиция и судебные органы, которые баннят косяки в поведении свободных граждан, но с другой стороны должны приниматься меры, чтобы этих косяков возникало как можно меньше.
Ведь хорошее государство — это не то, где замечательные законы и хорошо работает полиция и тюрьмы, а то, где при хороших законах мало у кого возникает потребность их нарушать…
В этомнаправлении какие-то разработки вообще ведутся в бэкофисе Хабра?
Спрашивается, почему такое происходит?
По идее, всякое административное вмешательство в процессы контентогенерации сродни читерству.
А иначе «саморегулируемое сообщество» приобретает такой же смысл, как «свободное демократическое общество» в свете событий в мире за последние N*10 лет
А насчет C# — да, при всех своих новых достоинствах он остается слишком уж объектно-ориентированым…
Но если и сравнивать это с каким-то языком, то скорее с Nemerle, который все эти штуки уже давно именно в .NET превнес.
Такой код:
Показывает такой результат:
Что дает повод крепко пофлудить :)
А про разбор expression trees придется дождаться подходящей проблемы в текущем проекте :)
А область применения этой техники такая же, как и у рефлексии, в общем-то…
Например, задачка валидации состояния объектов на основе информации из какого-то файла конфигурации или даже DSL. Или самый «подножный» пример — это разработка своего супер-универсального DAL, чтобы одним методом проинициализировать любой тип данными из БД…
en.wikipedia.org/wiki/Smoke_test