Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
Прошу помощи избавиться от головной боли. Есть существующий много лет большой проект собранный кусками на ASP и ASP.NET. Проект полностью динамичный, т.е. структура данных не статичная, и зависит от конкретного пользователя прошедшего авторизацию, и может быть изменена на ходу. Много лет слежу за MVC и другими API .. но смущает сам подход технологий. Основная фишка MVC это контролы. Но у меня нет контролов, так-как теже таблицы user, company и др. не имеют структуры пока пользователь не авторизуется. Для ASP это не критично, а вот ASP.NET сам по себе нацелен на компиляцию и оптимизацию, и если я буду строить классы динамически каждый раз, то получу огромные тормоза. Но при этом следя за ASp.NEt , хочется использовать все вкусности , тотже Razor, Linq и т.д. Итак: структура всех таблиц системы хранится в базе, и зависит от пользователя который прошел авторизацию. Даже его таблица Users имеет разную структуру в зависимости от настроек в данный момент. Тоже касается и всего интерфейса. Можно ли с толком использовать MVC и др. ? P.S. были мысли генерировать файл контролы после изменений, но тогда их будут тысячи в папке , причем на каждый контрол, и снова станет проблемой подключать их не статично а динамично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 18:43 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*, Переходите на Node.js и клиентские MV* фреймворки - они эти проблемы принимают близко к сердцу и могут помочь!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 19:22 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*Основная фишка MVC это контролы. Основная фишка MVC - новый подход к разработке, контролы тут вообще не причем. *Ihor*если я буду строить классы динамически каждый раз, то получу огромные тормоза. А зачем строить классы динамически? *Ihor*Можно ли с толком использовать MVC и др. ? Можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 23:04 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
к NodeJS я и так все время склоняюсь. Но nodejs это только обработчик сам по себе. к нему нужно собирать пазлом тучу отдельных элементов, плюс решать вопрос больших нагрузок, в итоге вешая к примеру тотже iisnode плюс тучу либ, получается не совсем чистая солянка, в отличие от .NET Framework которая работает в единой среде и почти все части API это одно целое. Да и важен SQL Server 2008/2012 так как mongodb не вариант изза огромной аналитики. Потому и хочется использовать ASp.NET на полную, но проект не стандартный и 99% того что в MSDN никак не подходит. Контролы в MVC как раз для меня важный фактор в нем, так-как без описание классов данных и базы, сам MVC уже не полетит так-как задуман. Создать все классы через ExpandoObject выглядит слегка не производительным. Т.е. проблема в том что, насколько я понимаю ASP.NET и все его фишки: MVC, Linq, Entity Framework и др. , хороши только для статичный проектов, когда все закладывается со структуры базы, и дальше оперируешь только на верхнем уровне. В моем же случае, классы придется создавать или неопределенные типа Hash массивов или Dictionary , ну или новые ExpandoObject и др. В итоге ASP.NET нечего будет оптимизировать и кэшировать, да и скорость будет совсем не красивой. Пробовал в разных тестовых скриптах. Пока таки NodeJS с его JavaScript и приходит на ум, вот только в нем ничего нету и нужно собирать тучу независимых либ. Перерыв весь инет, видел только статичные варианты с MVC. Может ктото сможет подсказать, как можно толково подойти к этому моменту без серьезной потери производительности, когда структура данных описана вся в базе или XML и кол-во свойств и методов будет известно только после авторизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 00:46 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*, Вы нас что пугаете да пугаете, что Вы имеете в иду по статичностью? - знания типа модели на этапе компиляции? так в мувице можно работать и с обезличенным типом модели аля <T>, только надо применить немного эквилибристики - хотя и пускай банальной, конечно про деревья тут придется забыть, окромя интерфейсной общности, или базового класса. Но это вполне влазит в парадигму биндинга, не хотите генерить классы в чем проблема, спускайте в вьюху списки. Динамически маркируйте члены списков, при генерации разметки генерите удобный вам код на основе маркировки и наоборот ( при получении ответа с клиента). Вы поймите, вариантов по вашей проблеме масса, вы сами должны получить серендипность от общения с мувице.( уж такой он фреймворк) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 02:02 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*Да и важен SQL Server 2008/2012 так как mongodb не вариант изза огромной аналитики. ETL никто не отменял. вторых, чем обусловлена nosql архитектура? Или просто, чешется, колется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 09:31 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
- хотите на лету делать и менять велком в RoR, очень модно стало, но опять же медленнее будет. RoR- прогеры говорят в вебе скорость не критична, а удобства покрывают этот недостаток. - NoSql это тоже мода, позволяет быстро стартануть, но после шаманство будет еще то. выше сказанное ИМХО и может быть оспорено, личный опыт( ТС что значит :"так-как теже таблицы user, company и др. не имеют структуры пока пользователь не авторизуется". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 13:10 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuТС что значит :"так-как теже таблицы user, company и др. не имеют структуры пока пользователь не авторизуется". ну то и значит. после авторизации в базе или допустим в xml конфиге хранится структура базы для данного клиента.. кол-во таблиц, кол-во полей в таблицах , их тип и т.д. Отсюда и вся обработка, в момент запроса формы, строится форма на основе того , что доступно клиенту, и при приеме данных, берется только то что он может сохранить. Вот поэтому у меня и появилась проблема работы с ASP.NET, весь MVC построен на моделях, и работа с базой через модели и класс самой базы. Тотже Linq, Entity Framework и др. В javaScript такой проблемы небыло никогда, там классы и проперти создаются на лету. var t1 = {}; t1.userName = 'test'; - Но JS не работает с базой,в отличие от MVC где общение между вьюиверами и базой идет через модели. А вот в ASP.NET практически все типизировано. Скорость работы ExpandoObject или аналоги ElasticoObjects совсем плачевны. Иначе не вижу смысла переписывать проект с ASP на ASP.NET полностью. и при этом потерять в производительности. А без потери производительности смог придумать только генерацию классов или подключаемых по типу модулей DLL, которые будут создаваться после редактирования конфигурации клиента, но таких файлов будет тысячи. Вот и проблема, хочется использовать все вкусности на полную катушку но проект очень специфичен и не имеет структуры данных в статичном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 21:32 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*, зачем тут ExpandoObject? Возьми обычный DataSet в руки и вперед. Тот же xml, только вид сбоку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 22:04 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
МСУ, тут скорее проблема не в отображении данных а ооп - проекции сущности на тип. постараюсь объяснить: предположим 1- что у нас 1250 юзеров, и каждый имеет динамическую таблицу db.юзер из 14 не повторяющихся ( условно) полей. тогда тема фейк - можно даже не заморачиваться. 2 если из таблиц можно препарировать базовую сущность и интерфейсные зависимости, работать через них - вполне типичная ситуация. ну а третьего ( имхо ) я не вижу.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 22:31 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
бред какой то полнейший набор сущностей в любом случае конечный иначе неизвестные сущности и нет смысла выделять в сущности создайте свалку в виде пропертей, и подгружайте её для каждого юсера свою ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 23:00 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
Короче, достали уже мнимые попытки прогнуть мвц под неспособность решить какие-то там сферические задачи. В чем конкретно проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2013, 23:09 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
EF вполне выдерживает иерархичные структуры данных, как в одной таблице, так и в нескольких. Проблемы не вижу. Если уж совсем тяжко с определением домена, на помощь спешит MongoDB )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 00:53 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
hVosttEF вполне выдерживает иерархичные структуры данных, как в одной таблице, так и в нескольких. Проблемы не вижу. Если уж совсем тяжко с определением домена, на помощь спешит MongoDB )) да, монго в этом плане шикарен. но вот только монго не потянет аналитику, колосальное кол-во отчетов, с использованием почти всего что дает sql 2008 , без это всего отчеты придется ручками в JS считать и разворачивать. МСУ я не пытаюсь прогнуть MVC а пытаюсь понять его. подходит ли он мне или только усугубит. У меня стоит выбор как сделать лучше. Толи превратить MVC в тормоз из-за специфичной задачи, или же сделать аля Ajax , где UI отдельно а данные чисто через веб сервис request/post в виде json. В случае Ajax все ложиться на сторону клиента, в то время как у MVC это серверная часть Razor. Везде свои плюсы и минусы. Но для меня главной головной болью является то что, смотря на сайте ASP.NET что предлагает МС на сегодня, все по всем докам это статичные классы. Да это выгладит красиво и вкусно, структуру описал, классы раскидал, связи указал и все полетело. А мне даже форму генерить нужно в зависимости от того. кто запросил ее. также и весь UI. В моей ситуации невозможно взять объект User, заполнить его , и отдать базе сохранить. Мне придется самому собирать INSERT запросс тем набором данных в момент записи. В итоге MVC будет весь содержать тучи кастомного кода, тоже касается и темплейтов, в итоге зачем тогда MVC мне? Еще раз, я не говорю что MVC плохо, я пытаюсь понять как сделать лучше в моей ситуации. Я могу просто как писал выше, через json отдавать все а браузер и пусть клиент сам рисует UI по ситуации и т.д . Такой вариант работает и сейчас, но возникает момент когда тотже отчет нужно отрисовать не только у клиента, а и на сервере по Scheduler. Вот тут спасает какбы NodeJS где серверные темплейты и клиентские, это один и тоже код. Но NodeJS не покроет все проблемы.. тотже PDF проблема, как и много других моментов которые есть в ASP.NET но нету под NodeJS. Вот и получается что пытаюсь понять как решить разом все моменты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 05:16 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*Итак: структура всех таблиц системы хранится в базе, и зависит от пользователя который прошел авторизацию. Даже его таблица Users имеет разную структуру в зависимости от настроек в данный момент. Тоже касается и всего интерфейса. Можно ли с толком использовать MVC и др. А зачем так надо было делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 08:57 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*да, монго в этом плане шикарен. но вот только монго не потянет аналитику, колосальное кол-во отчетов, с использованием почти всего что дает sql 2008 , без это всего отчеты придется ручками в JS считать и разворачивать. У меня такое ощущение, будто я со стенкой разговариваю... Я кому про ETL писал? *Ihor*я не пытаюсь прогнуть MVC а пытаюсь понять его. подходит ли он мне или только усугубит. У меня стоит выбор как сделать лучше. MVC подойдет везде, где нужно веб приложение. Это альтернативный движок. Всё тоже самое можно приготовить на вебформс, на пхп, на джаве. Мысль ясно трактую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 11:58 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
я не вижу тут динамики если честно .. типовая задача сделать 1 общую таблицу к примеру айди юзера, логин и пасс и сделать таблицы с доп. полями по типу юзера соединённые 1 к 1 с первой, в коде сделать фабрику возвращающую нужный объект по типу. профит. И все будет типизировано и удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 12:18 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
Да и вообще, если есть у автора проект на вебформс, то почему вдруг мвц не в состоянии решить задачу, пусть даже с динамикой? Бред какой-то. А еще более бредовыми выглядят потуги переписать боевое решение с вебформс на мвц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 12:25 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
*Ihor*Проект полностью динамичный, т.е. структура данных не статичная, и зависит от конкретного пользователя прошедшего авторизацию, и может быть изменена на ходу. может быть, главное это переделать(,а не ASP->ASP.NET) или хотя бы посмотреть на это с другой точки зрения, чтобы *Ihor*избавиться от головной боли ну или Excel и все в Azure ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 13:00 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
sanyock2, да лучше оставить что есть и не дергаться ( если все работает) тем более что кто то пытался зафигачить туда aspx, до потом понял, что офчинка выделки не стоит. если там генерится куча чего то без всякой общности, о которой говорил я ранее выше и hVostt и handmadeFromRu тут надо все ломать, и писать заново а переносить всю ass на мувице там тоже получится ass. смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 13:24 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
надо сделать нормальную нормализованную БД, часть которой будет имитировать динамическую часть, а то получается какой-то конгуренд визуаль студии WebEdition, за MS даже страшно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 14:49 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
Где-то в степида лучше оставить что есть и не дергаться ( если все работает) вполне может быть, это бюджет таки определяет взлетит или ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 14:50 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
почему так вышло? а все просто: есть построитель форм, есть построитель отчетов. все полностью на конфигах, даже выборка из-базы берется в конкретный момент в зависимости от юзвера. Причем админ может отключить чтото или добавить, и пользователь должен получить изменения сразу а не после рестарта проекта. Минусов тут просто уйма. Начиная от кернела которому приходится постоянно выполнять тучи проверок и переборов, заканчивая самой базой. Код оптимизируется постоянно насколько это возможно. База страдает но спасают вьюшки и процедуры под SQL Server 2008, за счет оптимизации и кеширования в Ent.Edition. Сам АПИ очень давно построен на старом добром ASP а уже новые фишки типа PDF, Excel, Charts и т.д. уже делает ASP.NET. Да все работает прекрасно.. зачем ломать? ну так очень древний проект, хочется переписать с нуля и уже используя то что дает 2013 год. NodeJS поначалу подходил как нельзя лучше, но вот заглядывая вперед понимаешь что тотже PDF станет боком как и сотни других мелочей, снова лепить винегрет. В то время как .NET уже имеет почти все что нужно. Потому без конца ковыряю .NET и пробуя разные тесты в попытке найти идеальное решение. Было собрано тучи разного кода, даже DLL генерились налету и тутже инклудились, причем работает и летает прекрасно. Но подход слегка не стандартный. Изучая MVC тупо видел что все завязано на статичных моделях, по крайней мере из всего что доводилось видеть. Когда попались Expando Elastico и др. вроде увидел аналог JavaScript но скорость работы такого кода плачевна. Т.е. в поиске варианта извратится и не наломать дров, мне так и не попались варианты как сделать подобный проект на .NET без dynamic. Я явно чтото мог упустить, и пока видел вариант через генерацию dll, через expando или dynamic и т.д. Потому и постучался на форум, в надежде что ктото смог бы подсказать идею. И никак не собирался наезжать на MVC :) ... просто для меня ASP.NET это аналог процедур в базе, т.е. код должен быть статичным, чтобы система могла оптимизировать и кешировать, в отличие от динамичный SQL запросов, Вот тоже самое и с ASP.NET , если я ему буду налету давать плавающий код, потеряется вся производительность , так-как .NET не сможет оптимизировать и каждый раз будет пере компилировать код. Ведь по идеи SaleForce имеет туже задачу аналогичную, структура всей базы строится через конфиги, а значит нету классов шаблона таблицы, и при этом остается в рабочем виде АПИ верхнего уровня list = from user in db.users where ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2013, 03:49 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
webgui.org тоже позволяет клепать формы и мини отчеты, но у них структура одна для всех, а тут 1Це какой-то получается, у 1Це хоть цель в жизни есть - быть оригинальными, у них и штат большой и все равно кто-то негодуэ, неужели малоизвестные кулибинские конструкторы кому-то нужны? чем студия то хуже? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2013, 06:23 |
|
||
|
Динамическая структура данных и MVC
|
|||
|---|---|---|---|
|
#18+
мне кажется, что если для пользователя непрограммиста, то запихуемо в пару-тройку, максимум десяток многиекомногим таблиц со статической структурой для "динамики" а если для пользователей со склонностью к программингу, то лучше урлик размесьтить со сцылкой на express студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2013, 08:06 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38178715&tid=1358271]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 429ms |

| 0 / 0 |
