Здравствуйте, Геннадий Васильев, Вы писали: ГВ>Вот тут, мне кажется, ты ошибаешься. Фреймворк можно построить на любом языке кроме самых специфичных.
Ну да. Только вот на плюсах, как ни пиши — получается MFC
Воспроизвести MVC Framework, к примеру, на Дельфи — нереально. Можно сделать отдаленно похожую хрень, но именно что отдаленно.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали: S>Здравствуйте, Геннадий Васильев, Вы писали: ГВ>>Вот тут, мне кажется, ты ошибаешься. Фреймворк можно построить на любом языке кроме самых специфичных.
S>Ну да. Только вот на плюсах, как ни пиши — получается MFC S>Воспроизвести MVC Framework, к примеру, на Дельфи — нереально. Можно сделать отдаленно похожую хрень, но именно что отдаленно.
Cудя по количеству минусов, я зря не написал "ASP.NET" перед MFC Framework.
Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк.
То есть аналог вот этого:
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>>Ну да. Только вот на плюсах, как ни пиши — получается MFC S>>Воспроизвести MVC Framework, к примеру, на Дельфи — нереально. Можно сделать отдаленно похожую хрень, но именно что отдаленно. S>Cудя по количеству минусов, я зря не написал "ASP.NET" перед MFC Framework.
Антон, ты определись -- MFC (Microsoft Foundation Classes) или MVC (Model View Controller).
S>Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк. S>То есть аналог вот этого: S>
А как нибудь словами эту задачу сформулировать можно? Для далеких от Web-программирования людей.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
E>Антон, ты определись -- MFC (Microsoft Foundation Classes) или MVC (Model View Controller).
MVC S>>Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк. S>>То есть аналог вот этого: S>>
E>А как нибудь словами эту задачу сформулировать можно? Для далеких от Web-программирования людей.
1. Есть routing engine. Он умеет анализировать входящие HTTP запросы и сопоставлять их вызовам методов контроллеров.
Например, словив
/Search/Beverages/2
он понимает, что нужно вызвать SearchController.Results("Beverages", 2).
То есть всю рутинную работу по разбору строки запроса выполняет фреймворк; твоему коду достаются уже типизированные параметры.
Правила роутинга описываются отдельно от твоего кода и очень гибким способом. Например, тот же результат мог бы быть доступен по адресу
/Search.ashx?Group=Beverages&page=2
2. Теперь встает обратная задача: как обеспечить корректность ссылок на страничках, которые генерирует твое приложение?
Приведенный фрагмент кода делает именно это: находит правило роутинга, приводящее к нужному методу, и подставляет параметры вызова обратно в URL.
Самое замечательное — то, что компилятор следит за корректностью кода. То есть состряпать набор параметров, несовместимый с сигнатурой целевого метода, не получится. За согласованностью маппинга следит фреймворк — оба преобразования выполняются через одну и ту же таблицу правил.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Вот я хочу выразить свое полное согласие с этим подозрением. На мой некомпетентный взгляд, наличие маркетинга и есть то, что отличает продукцию Хейльсберга от творчества других народных коллективов. S>Под маркетингом я здесь понимаю вовсе не подразумеваемое большинством "умение разрекламировать дерьмо как новый вид шокололада", а тот настоящий, хардкорный маркетинг, который связан с глубоким пониманием рынка, на который позиционируется продукт.
Маркетинг подразделяется на "операционный" и "стратегический". Операционный маркетинг — это организация мероприятий, выставки там, брошюрки рекламные, и прочее. "Стратегический" — это позиционирование, продакт менеджмент, анализ тенденций в технологиях и спросе, вопросы ценообразования, элластичности спроса, анализ конкурентов, формулирование продуктовых гипотез, опросы и фокус-группы для проверки гипотез, и, как ни странно, проблемы качества продукции.
Вот этот "стратегический" маркетинг и является "хардкорным". Он и в случае обычных компаний хардкорен, реально, навреное — самая интересная и бешено креативная работа. А вот в случае хайтека — стратегический маркетинг это жесточайший хардкор, так как туда примешиваются технологические тренды, прогнозировать которые не будучи хардкорным инженером просто невозможно. Продакт менеджмент — это, собственно, только часть функций стратегического маркетинга.
Есть заблуждение, что надо для занятия маркетингом иметь специальное образование. Это не так. В нашем деле — надо в первую очередь быть хорошим инженером, а во вторую — хорошо понимать потребности, которые удовлетворяют технологии. Все.
Говорить, что "какое-то дерьмо так разрекламировали" — ну, значит, вообще ничего в маркетинге не понимать. Нельзя разрекламировать дерьмо. Если "дерьмо" покупают — значит, его ТТХ из-за которых он "дерьмо" не так важны, и всем на них плевать. Раз продукт покупают — значит он удовлетворяет чью-то потребность. Если им довольны — значит он делает это хорошо. Бывает, что продукт покупают, и им не пользуются — так часто бывает с прикольными гарджетами, например. Стало быть, он никакую _реальную_ потребность не удовлетворяет.
А вот бывает так, что рекламируют продукт, который прикольный, ну как гарджет, и из-за этого его берут некоторые гики. Реальную потребность он по определению не удовлетворяет, но гикам он нравится. И хрен бы с ним, но некоторые воинствующие гики хотят захватить власть над миром, и весь мир заставить пользоваться их игрушками, заявляя, что это они, гики, лучше всех знают, что всем надо! Слыш, братва, они хотят отобрать у нас наши лопаты! О чем это я? Ну это, на не начинается, на мелре заканчивается .
Здравствуйте, Gaperton, Вы писали:
G>А вот бывает так, что рекламируют продукт, который прикольный, ну как гарджет, и из-за этого его берут некоторые гики. Реальную потребность он по определению не удовлетворяет, но гикам он нравится. И хрен бы с ним, но некоторые воинствующие гики хотят захватить власть над миром, и весь мир заставить пользоваться их игрушками, заявляя, что это они, гики, лучше всех знают, что всем надо! Слыш, братва, они хотят отобрать у нас наши лопаты! О чем это я? Ну это, на не начинается, на мелре заканчивается .
А я, грешным делом, подумал, что начинается на ли, а заканчивается на х .
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, eao197, Вы писали:
E>>Антон, ты определись -- MFC (Microsoft Foundation Classes) или MVC (Model View Controller). S>MVC
Ну, мой минус относился к фразе:
Ну да. Только вот на плюсах, как ни пиши — получается MFC
Далеко не всегда на C++ получаются такие здоровенные комбайны, как MFC.
S>2. Теперь встает обратная задача: как обеспечить корректность ссылок на страничках, которые генерирует твое приложение? S>Приведенный фрагмент кода делает именно это: находит правило роутинга, приводящее к нужному методу, и подставляет параметры вызова обратно в URL. S>Самое замечательное — то, что компилятор следит за корректностью кода. То есть состряпать набор параметров, несовместимый с сигнатурой целевого метода, не получится. За согласованностью маппинга следит фреймворк — оба преобразования выполняются через одну и ту же таблицу правил.
Не зная, как в compile-time работает конструкция
Html.ActionLink<SearchController>(..., s => s.Result( "...", 2 ) )
я не могу ответить.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Sinclair, Вы писали:
S>Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк. S>То есть аналог вот этого: S>
Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача. Ну, дальше, по-видимому, нужно свести хранение и распознавание ссылок и связей к какому-то общему хранилищу и т.п.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача.
Ну-ну. Там не в сигнатуре дело. А в параметрах вызова. Которые могут быть и не константами. Так что удачи.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
ГВ>>Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача. S>Ну-ну. Там не в сигнатуре дело. А в параметрах вызова. Которые могут быть и не константами. Так что удачи.
Да ладно тебе. Можно и по параметрам.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача. S>Ну-ну. Там не в сигнатуре дело. А в параметрах вызова. Которые могут быть и не константами. Так что удачи.
отстаешь от жизни,сча линки уже можно так объявлять <%= Html.ActionLink(t.Title, "Thread", new{ id=t.ID}, new{@class="f12" } ) %>
Здравствуйте, kkolyan, Вы писали:
K>отстаешь от жизни,сча линки уже можно так объявлять <%= Html.ActionLink(t.Title, "Thread", new{ id=t.ID}, new{@class="f12" } ) %>
И где тут проверка типов? Если я вместо Thread напишу "Thred", всё пропало? Или вместо new { id = t.ID } напишу new { id = "oops" }?
Здравствуйте, kkolyan, Вы писали: K>отстаешь от жизни,сча линки уже можно так объявлять <%= Html.ActionLink(t.Title, "Thread", new{ id=t.ID}, new{@class="f12" } ) %>
Не отстаю. Это было описано по соседству, но мне так меньше нравится.
Во-первых, это длиннее, во-вторых, нет проверки типов компилятором.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Геннадий Васильев, Вы писали: ГВ>>Да ладно тебе. Можно и по параметрам. S>Пример в студию
Почти любой сериализатор так работает.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали: ГВ>Почти любой сериализатор так работает.
Что? Сериализатор вызовов методов?
И вот так тоже будет работать?