А как такая хрень вообще происходит?
Лет 10-ть назад трудился в маленькой шаражке лепящей вэб на... ASP. На чистом ASP.
Том самом, где билли в образцах пишет
Connection connection = new Connection connectionString, connectionMode
Connection.Open
...
Connection.Close
Страничка лепилась неделю и более.
Просто упаковал общий код в класс и заставил писать юниты по -таблично, тестить юниты и из оттесченого собирать странички... где-то часов 6 потратил.
В разработке все упростилось и сократилось до нескольких часов.
10 лет назад уже вовсю был раскручен ASP.NET MVC, а труп Сильверлайта даже не сильно вонял. Да даже EF был уже вполне хорош... Нет, если вы тогда были вынуждены писать на старом ASP, а клиент не хотел переписывать на что-то посовременнее, то это конечно ваша беда. И там можно было городить любые свои костыли и "фреймворки". Все давно похоронили это оно мамонта и всем плевать - за пределы этой шаражки это никуда не уйдёт.
Но... насчёт "потабличных юнитов" - а если надо заюзать джойны? Создаются юниты на все комбинации джойнов?
Как сериализовать запрос с пользовательскими настройками------
Тупо в лоб - вызвать метод ToSql()!
Похоже, вы забыли другую часть фразы - "а обратно?".
И я не сказал всех условий (прямо как вы) - сериализовать надо из UI. Вот есть в UI кучка объектов с фильтрами, их надо в скуль. Но напрямую нельзя - отцы запрещают, говорят про опасность всяких инъекций и прочее.
С динамичным линком вы можете написать запрос из строки. А строку сконкатенировать из условных строк-фильтров в вашем UI. Например, фильтр-строка "contains" может быть трансформирована в линк-метод Contains и обратно. А строка - лёгкая сериализация запроса. Поэтому либа Radzen простая и лёгкая, т.к. основана на DLINQ. Без этого им бы пришлось писать кучу своих конвертеров.
А что, есть такие
-----
Поверь - есть и много. Скорее их даже большинство.
Хех, я тоже удивился, когда тут в Германии таких увидел. Получается, что все эти "евангелисты" со своими проповедями "как надо писать код" мимо большинства реальной разработки проходят. Да что там - даже сами эти евангелисты зачастую плюют на свои же принципы, если стоит дедлайн и надо быстро на коленке. Но на собесах все как один сношают по методичкам.
а UI тоже на машинах работает?
------
А что тебя в этом удивляет? Или ты просто никогда не видел как оборудуется рабочее место на производстве? Там втыкается обычный писюк и управление струячится по ком/усб портам...
Нормальный десктопный UI и отсылка протокола/отчета на сервер.
Нах там вэб? все локально...
На одной фабрике, где я был, UI был на WPF, на другой - самописные веб-контролы, а теперь я переписываю на тот же веб, но уже Blazor. Ещё у них есть мобильные терминалы в виде PDA на виндовс мобайл. Но если немного заморочиться, то на Blazor я могу им написать автоматически адаптирующийся UI под маленькие экраны. В основном через Bootstrap.
весь в белом...
------
...обламывается на неподдерживаемой версии Оракла.
DLINQ не про Оракл. Он вообще не про ДБ. Это прослойка между LINQ и кодом. Его дело - запросы и их сериализация. Ну и там по мелочи накрутили вокруг него. Вы по ссылке-то ходили, что я дал?
На одной фабрике, где я был, UI был на WPF, на другой - самописные веб-контролы
Но всё крутилось на машинах с виндами. Не так давно фотка в новостях мелькала - Кук на фабрике, производящей Айфоны. На конвейере стоят терминалы с Виндой. Терминалов на Макосях не видно. Оно и понятно - МС собаку на интерфейсах и фреймворках съела. А Эппл с линуксятней - просто понторезки. Только одни - понторезка для богатых дурачков, а другие - для бедных.
Оно и понятно - МС собаку на интерфейсах и фреймворках съела.
Хто-хто? Мелкомягкие? Прущие чуть больше чем всё из *nix и *bsd систем? Которые сначала просрали интернет, а потом за 25 лет так и не смогли сделать приличный браузер? Которые не могут ни один стандарт реализовать? Всё у них через жопу и со своими свистоперделками. Которые юникод до 7й винды поддерживали через жопу и до сих пор упорно лепят BOM во все UTF-8 файлы? Даже в xml, ломая их. Потому как по стандарту (который тупорылые мелкософтовцы тоже нихрена не поняли) любой xml файл начинается с <, пробела, таба или CR/LF. Из-за чего специально для виндусятнигов приходилось корячить парсеры. Которые даже не смогли понять что C в аббревиатуре CSV означает "comma". Нее, это у всего мира запятыми отделять будем, а мы, дегенераты, будем отделять "разделителем в списке".
В общем, не смешите мои тапочки. В части интерфейсов (не гуёв) фирмы дерьмовее мелкомягких не существует.
А Эппл с линуксятней - просто понторезки. Только одни - понторезка для богатых дурачков, а другие - для бедных.
Ага. Именно поэтому примерно 80% интернет-серверов в мире работают на юниксоподобных системах. Все они дураки. Один ты умный. Когда ж ты уже в майами свалишь, а?
ок. А если учесть, что asp.net mvc это presentation layer?
Presentation Layer не означает, что это UI.
Вообще говоря, несколько разных Views могут взаимодействовать с одним Controller'ом (или View Model).
Насколько я понимаю, Controller (или View Model) - это и есть та абстракция, котороя отделяет бизнес логику от представления.
а потом за 25 лет так и не смогли сделать приличный браузер?
ИЕ в своё время был хорошим браузером. Ничего лучше не было до появления Оперы 7-8 примерно. Потом сдулся, конечно. Но в своё время ИЕ6 был просто революционным.
Которые даже не смогли понять что C в аббревиатуре CSV означает "comma". Нее, это у всего мира запятыми отделять будем, а мы, дегенераты, будем отделять "разделителем в списке".
И правильно сделали. А то единоличники, создавшие аббревиатуру CSV, не догадывались, что кроме английского есть и другие языки, где десятичный разделитель - запятая, а не удобная англоговорящим точка. Или что я хочу хранить там куски фраз со знаками преминания.
В части интерфейсов (не гуёв) фирмы дерьмовее мелкомягких не существует.
Интерфейс Виндовс 95-2000 вообще эталонный по внешнему виду. Линускойды создавали всякие понтовые игрушки в UI, но беда их в том, что они всегда шли кто в лес, кто по дрова - единого стандарта не было. Каждый лепил как ему нравится, в результате в каждой программе надо было привыкать к образу мыслей её создателя. У МС же были довольно единые стандарты, которых они долго придерживались, в результате все проги работали примерно одинаково и имели узнаваемые меню. Что, конечно же, не нравилось веб-мальчикам, вышедшим частично из линуксоидов (то-то скриптизёры через одного на яблоках и линуксах сидят) - им хотелось, чтобы меню каждого сайта выглядело по-разному, и чтобы любой пользователь разбирался с нуля, где там у них что и как всё работает.
Ага. Именно поэтому примерно 80% интернет-серверов в мире работают на юниксоподобных системах. Все они дураки.
Они крохоборы. Просто не хотят платить за лицензии. Если бы в поездах можно было ездить бесплатно или за очень маленькую сумму от обычного билета, но лишь сидя на полу, но все полы были бы забиты такими халявщиками, экономящими малую деньгу даже не смотря на все неудобства.
Многие стандарты МС поддерживает по-своему не потому, что они тупые (они как раз умнее многих), а чтобы подмять их под себя.