powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическая структура данных и MVC
25 сообщений из 328, страница 2 из 14
Динамическая структура данных и MVC
    #38179342
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для студии тоже конструктор есть, не веб конечно, XAF называется

для любителей пописать, а не потыкать - CSLA
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179355
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2для любителей пописать, а не потыкать - CSLA Любителям пописать не хватило сил реализовать свою инфраструктуру?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179359
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAне хватило сил реализовать свою инфраструктуру?
какую?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179361
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2, собственную конечно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179365
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanyock2, собственную конечно.

время то экономить надо, а то на пописать/потыкать может не остаться
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179375
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС если вы переписываете с нуля то может не стоит завязывается на текущей архитектуре?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179417
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*почему так вышло? а все просто: есть построитель форм, есть построитель отчетов. все полностью на конфигах, даже выборка из-базы берется в конкретный момент в зависимости от юзвера. Причем админ может отключить чтото или добавить, и пользователь должен получить изменения сразу а не после рестарта проекта.
не почему, а зачем так надо было делать? какие бизнес-требования привели к такому решению? или просто у кого-то было шило в заднице, а теперь за ним надо разгребать это говно лопатой?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179512
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*, во-первых, откуда весть, что экспандо тормозной? Во-вторых, как он тебе поможет, если у тебя динамика? Чем тебе поможет работа с анонимными типами, ведь на этапе компиляции не известны свойства?
Я вижу тут классическую связку с DataTable, не более и не менее. Остальное, что ты перечислил (безопасность в реал тайме, вьюхи и т.д.) никаким образом к мвц не относится и может быть реализовано хоть на пхп.
Итого: никакой конкретики, ты тупо смешал всё в кучу, вбросил на форум и хочешь каких-то советов.
Короче, если нужен рефакторинг старой системы - займись им. Если хочешь поставить систему с нуля на новые рельсы (с новой более оптимальной логикой или еще с чем) - мвц (как и вебформс) отличные движки, которые могут вся и всё. Определись и не насилуй моск соотечественников.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179603
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУИтого: никакой конкретики, ты тупо смешал всё в кучу, вбросил на форум и хочешь каких-то советов.+1

Придумана какая-то архитектура "построителей", реализована логика на каких-то конфигах и морда на ASP, ASP.NET.
Не понятно почему не получается реализовать морду на MVC.
Можно к примеру Content Management System обозвать построителем форм. Так ведь есть CMS-ки, что написанны на WebForms, PHP, RoR и на MVC, и они работают

Не понятно зачем вообще что-то реализовывать на MVC. Бизнес-требования изменились? Вместо конфигов нужно дать пользователю WYSIWYG?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179903
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
никто не извращался :) , и не строили аналог студии. Вышло все случайно, был огромный проект, и кол-во кастомизации просто стало насиловать сапорт. Каждый клиент начал тянуть на себя одеяло. А ну попробуйте в стандартном MVC вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д. Сначала начнете делать отдельные темплейты клиенские, но потом становится жалко насиловать базу, когда в таблицах сотни полей от разных клиентов, начинаете разделять чтобы у каждого было свое. В итоге всех мучений, пришлось чисто для себя написать динамичный кернел с независимой структурой, в итоге настало время когда практически перестал лазить в код и чтото переделывать под клиента. Т.е. есть сапорт который в админки сами мышкой под клиента чтото меняют. Оно того стоило? 100раз да!
Насчет мани ту мани связок - был дурной опыт, дето в самом начале. Итогом стало просто огромные тормоза как только кол-во данных выросло до лямов. Отчетность и аналитика стали не справляться. Потому и пришлось возвращаться к статичным таблицам, но генерить их на ходу. Вопрос чисто в поиске максимальной производительности. Но при этом иметь под каждого клиента отдельную версию проекта я не потяну физически.

Короче, как сказали выше, меньше слов :) тогда вот конкретика:
Идея проста, Чтобы к примеру заюзать тотже Razor ему нужно отдать модель. Чтобы к примеру сапорт верхнего уровня мог в темплейте стучаться к данным не трогая кернел: @foreach (var user in UsersList) { }
Для этого нужно передать UsersList класс. Но вот как его создать динамично если код кернела единый для всех клиентов, но структура таблицы Users разная?
1. можно скомпилировать по конфигурации в папку клиента dll с класами. и подключить/
2. можно заюзать expando или dynamic но тут есть пару моментов:
в томже expando легко создать анонимный проперти
dynamic sampleObject = new ExpandoObject(); sampleObject.name = 'Test';
но это в коде, а если заполнять из таблицы ? т.е. записать класс sampleObject["name"] = 'test' чтобы потом в Razor можно было красиво sampleObject.name ?

Попробовал через dynamic:
IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
user["Name"] = "Test";
List<dynamic> users = new List<dynamic>();
users.Add(user); users.Add(user);
var query = from i in users where i["Name"]='Test' select i;
foreach (var name in query) { Console.WriteLine(name["Name"]); }
так вроде работает, и даже Console.WriteLine(users[0]["Name"]); прекрасно работает. Но вот стоит вызвать ['Age'] и уже вылетает потому что нету обработчика. А ведь вся суть, отдать дизайнеру чтобы он мог обращяться к данных не трогая серверную часть. Т.е. по аналогу JSON в JQuery Template.. @foreach (var user in UsersList) { user['Name'] } но если указать тут 'Age' то упадет по ошибке.
Подход довольно простой в принципе и ничего тут сверх естественного. Есть api которая получает запрос, list / users / filter: Age >
20 к примеру
api не знает что из себя представляет users таблица. но нужно вызвать данные, отфильтровать и сгенерить темпллейт. Это все уже лет 10 работает. Вот и пытаюсь это все перегнать в .NET но без Dictionary а както красивее и с максимальной производительностью.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179966
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д.
проблема значит организационная, а не техническая.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38179981
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропил*Ihor*вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д.
проблема значит организационная, а не техническая.
оно все взаимосвязано. с одной стороны сам пытаешься сделать универсальный код, с другой стороны давят клиенты по по 100 раз меняют структуры базы, начинаешь мудрить. Тотже SaleForce позволяют также само клиентам менять структуру базы под себя. и явно оно у них хранится не в массиве а в статичных таблицах, иначе бы сервера не потянули бы большие данные каждый раз разворачивать из массива.
Для меня это очень удобно, когда достаточно добавить поле в конфиг клиента, и оно появится везде автоматом. А вот как раз код аналогичен тогоже Symfony на PHP просто ужасает. чтобы добавить поле нужно перегенерить все классы и либы чтобы поле и эвенты к нему провелись по всему кернелу, потом мигрейты и т.д. скорость разработки просто ужасает.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180021
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил*Ihor*вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д.
проблема значит организационная, а не техническая.
обычная проблема
просто статические модели достали тех, кто пишет сложные проги моделирующие жисть, а не надуманные редакторы текста
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180044
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

*Ihor*никто не извращался :) , и не строили аналог студии. Вышло все случайно, был огромный проект, и кол-во кастомизации просто стало насиловать сапорт. Каждый клиент начал тянуть на себя одеяло. А ну попробуйте в стандартном MVC вести много клиентов если каждый начинает требовать переделать формы в зад и в перед под себя, тут им мешает , тут не хватает и т.д. Сначала начнете делать отдельные темплейты клиенские, но потом становится жалко насиловать базу, когда в таблицах сотни полей от разных клиентов, начинаете разделять чтобы у каждого было свое. В итоге всех мучений, пришлось чисто для себя написать динамичный кернел с независимой структурой, в итоге настало время когда практически перестал лазить в код и чтото переделывать под клиента. Т.е. есть сапорт который в админки сами мышкой под клиента чтото меняют. Оно того стоило? 100раз да!
Насчет мани ту мани связок - был дурной опыт, дето в самом начале. Итогом стало просто огромные тормоза как только кол-во данных выросло до лямов. Отчетность и аналитика стали не справляться. Потому и пришлось возвращаться к статичным таблицам, но генерить их на ходу. Вопрос чисто в поиске максимальной производительности. Но при этом иметь под каждого клиента отдельную версию проекта я не потяну физически.

Короче, как сказали выше, меньше слов :) тогда вот конкретика:
Идея проста, Чтобы к примеру заюзать тотже Razor ему нужно отдать модель. Чтобы к примеру сапорт верхнего уровня мог в темплейте стучаться к данным не трогая кернел: @foreach (var user in UsersList) { }
Для этого нужно передать UsersList класс. Но вот как его создать динамично если код кернела единый для всех клиентов, но структура таблицы Users разная?
1. можно скомпилировать по конфигурации в папку клиента dll с класами. и подключить/
2. можно заюзать expando или dynamic но тут есть пару моментов:
в томже expando легко создать анонимный проперти
dynamic sampleObject = new ExpandoObject(); sampleObject.name = 'Test';
но это в коде, а если заполнять из таблицы ? т.е. записать класс sampleObject["name"] = 'test' чтобы потом в Razor можно было красиво sampleObject.name ?

Попробовал через dynamic:
IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
user["Name"] = "Test";
List<dynamic> users = new List<dynamic>();
users.Add(user); users.Add(user);
var query = from i in users where i["Name"]='Test' select i;
foreach (var name in query) { Console.WriteLine(name["Name"]); }
так вроде работает, и даже Console.WriteLine(users[0]["Name"]); прекрасно работает. Но вот стоит вызвать ['Age'] и уже вылетает потому что нету обработчика. А ведь вся суть, отдать дизайнеру чтобы он мог обращяться к данных не трогая серверную часть. Т.е. по аналогу JSON в JQuery Template.. @foreach (var user in UsersList) { user['Name'] } но если указать тут 'Age' то упадет по ошибке.
Подход довольно простой в принципе и ничего тут сверх естественного. Есть api которая получает запрос, list / users / filter: Age >
20 к примеру
api не знает что из себя представляет users таблица. но нужно вызвать данные, отфильтровать и сгенерить темпллейт. Это все уже лет 10 работает. Вот и пытаюсь это все перегнать в .NET но без Dictionary а както красивее и с максимальной производительностью.



Вместо ехpando нужна своя реализация DynamicObject. Я делал вариант с фиксированной частью + динамическая.
В сети полно исходников с разными подходами(неплохой вариант есть на codeproject), я за основу брал impromptu
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180049
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
седня про MongoDB-NoSQL немного почитал, типа быстрее да, но так то по идее оно на одной таблице SQL делается без учета тормозов

уже даже не пытаюсь советовать, ибо опыта с сильно нагруженными нету (и слава богу), говорят там все по другому (денормализации, шардинги, брррр фуу, никакого перфекционизма короче)

но неужели нельзя какой-то хитрый кластер сделать, железки проапгредить, закэшировать таблицы в оперативу, 1% хранимок переписать на С и чтобы старыми SQL многимикомногими без напряга своих мозгов?

неужели Каше правда нужен (когда есть Oracle, DB2, MSSQL и т.п.)?!?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180063
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это для viewmodel. Для model проще всего взять упомянутый уже csla. Для любителей своих "инфраструктур" или "Пан сам склепав"
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180165
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
динамик здесь не нужен. есть базовый домен. есть проперти. наборы пропертей определяются в дополнительной таблице, типа Descriptor, записи которых описывают проперти, принадлежность их к ролям (пользователей?) и другим переменным. рендерится это чудо набором ViewTemplates, вводятся данные в базу набором EditorTemplates. если требуется определять наборы во время функционирования приложения, можно хранить частичные вью в базе и рендерить через RazorGenerator. в общем, просто как дважды два, а вы тут развели. элементарная задача, элементарное решение. на MVC решается влегкую.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180197
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttдинамик здесь не нужен. есть базовый домен. есть проперти. наборы пропертей определяются в дополнительной таблице, типа Descriptor, записи которых описывают проперти, принадлежность их к ролям (пользователей?) и другим переменным. рендерится это чудо набором ViewTemplates, вводятся данные в базу набором EditorTemplates. если требуется определять наборы во время функционирования приложения, можно хранить частичные вью в базе и рендерить через RazorGenerator. в общем, просто как дважды два, а вы тут развели. элементарная задача, элементарное решение. на MVC решается влегкую.

вопрос встречный тогда тебе и товарищу МСУ:
Зачем тогда нужен форум? если вы все тут гуру, и для вас влегкую как два пальца, а кто не допонимает, идите ищите. Я так понимаю тут бывает только две ситуации.. или оба гуру и спорят кто умнее , или кто не в теме просто отвечают - "да можно, как два пальца" , а дальше MSDN вам в руки и отвалите.
В том то и дело что я перековырял километры MSDN и тогоже codeprojects И др. 99% тогоже MVC это статичные задачи. Если чуть динамика или нестандартное , то до конца не оговорено и для конкретного случая работает, шаг влево или вправо сразу тупик.
Я уже по тону МСУ понял что глупо на форуме чтото спрашивать. Как нибудь уже сам доковыряю, благо опыта хватает и не такие задачи решал.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180226
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*вопрос встречный тогда тебе и товарищу МСУ: Зачем тогда нужен форум?
Для того, чтобы предметно дискутировать. Но как можно дискутировать, тем более предметно, о сферическом коне в вакууме? Подумай об этом.

P.S. Такое ощущение, что тебе (оказывается!) тупо нужен CMS, о котором выше говорил skyANA. Это решит много административных и технических проблем. На базе CMS уже можно дальше строить свою систему.

P.S2. Рекомендую DNN, как-раз на ASP.NET WebForms.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180257
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне нужен чистый легкий код. Я пытаюсь пересобрать свой API.
На данный момент как и писал выше на коленке уже работают варианты
1) генерация dll и поключение из папки клиента, но много нехороших моментов есть.
2) dynamic почти получается аналог JS но нужно все таки писать свой класс сверху чтобы не слетат код при обращении к не существующему проперти, ведь дизайнер UI будет писать проверки.
Код: c#
1.
2.
3.
   IDictionary<string, dynamic> user = new Dictionary<string, dynamic>();
   user["Name"] = "Test";
   Console.Write(user["Name"]);


покрывает почти все что вижу. даже методы можно повесить налету. но не хватает обработки чтобы user['Age'] вернуло null как в JS а не падало по ошибке.
3) ExpandoObject в принципе получается выше аналог dynamic за исключением менее компактного кода.
Код: c#
1.
2.
3.
4.
   dynamic user = new ExpandoObject();
   ((IDictionary<String, Object>)employee).Add("Name","Test");

   Console.Write(user.Name);


да и посути тотже Json.NET либа на ExpandoObject вроде построена.

2) и 3) вариант вполне позволяют получив выборку с базы, загнать все колонки в объект и отдать в шаблон. А дальше админ может менять вывод в шаблоне под свои задачи. Т.е. введя в таблицу новое поле "Tel" в Razor шаблоне просто админ укажет
Код: c#
1.
2.
3.
 @foreach (var user in UsersList) { 
    <p>@user.Tel</p>
 } 


чем плох такой подход? зачем мне DNN
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180258
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

а по мне, это просто толстый троллинг и издевательство. конкретику давай, что за домен. примеры. какие задачи. чем конкретней будет описана задача, тем конкретнее будет ответ.

мне нужен дом. понимаете? дом. дом для разных людей, а не для одинаковых, прошу учесть! ну и что гуру посоветуете!? ваш МВЦ по ходу для одинаковых людей. либо Ку, либо неКу. а мне нужно для разных. вы не понимаете.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180272
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*,

динамик и експандо обджект совсем для других целей. не для хранения и раскрытия домена. не для вместилища данных. для этого существуют коллекции. где есть скалярные типы и сложные. где есть иерархия и зависимости. в базе они описываются путем раскрытия на связанные таблицы и поля (4-ая форма и иже с ним), которые собираются в реальные классы и коллекции.

динамик вам не нужен. забудьте, как страшный сон. он для других целей, совершенно для других. будете дальше копать в эту сторону еще больше увязнете. и обвините всех, кто вам там чего-то понасоветовал. забудьте вообще про динамик. ппц. незнаю уже других слов, чтобы описать эту дурость.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180294
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt

JavaScript по сути весь динамичный. Даже не типизирован в какой то мере. var a = 1; a = '1'; хотя и есть свои правила. Но в JS даже не встает вопрос с объектами. И любая динамика решается в пару строк. Незря ведь в ASP.NET всетаки засунули JSON и сериализацию как и во многие другие языки. Тотже NodeJS восприняли на ура, потому что JS позволяет очень легко описать любые задачи. Тотже Expando посути это тотже JSON. И вы мне говорите что JSON не хранилище данных ? Что тогда по вашему MongoDB ?
Ранее в C# не было и близко динамики, но с каждым разом все больше вводят приближение к JS и ведь не просто так.. пройдет еще время и будет еще больше вариантов. Не хотите динамики.. это ваше дело. Мой принцип, иметь универсальный один метод , вместо 100 вариантов под разные задачи.
По поводу тролинга - я постом выше привел вариант что хотел и как связать базу и шаблон. Если для вас это изврат, то видимо JS для вас чтото страшное.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180322
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttдинамик здесь не нужен. есть базовый домен. есть проперти. наборы пропертей определяются в дополнительной таблице, типа Descriptor, записи которых описывают проперти, принадлежность их к ролям (пользователей?) и другим переменным. рендерится это чудо набором ViewTemplates, вводятся данные в базу набором EditorTemplates. если требуется определять наборы во время функционирования приложения, можно хранить частичные вью в базе и рендерить через RazorGenerator. в общем, просто как дважды два, а вы тут развели. элементарная задача, элементарное решение. на MVC решается влегкую.

В твой пенке упущен один маленький момент, без которого view ничего не стоят с динамическими структурами
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180353
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот вам конкретика:
1. есть таблица допустим users { name, age , tel}
2. есть темплейты где просто список
@foreach <div>@user.name, @user.age , @user.tel</div>
3. есть XML файл с описанием структуры таблицы
4. есть админка, в которой добавив в XML поле address идет речек структуры таблицы с добавлением users { address } колонки.
5. дизайнеру нужна возможность просто отредактировать шаблон добавив @user.address и если он опечатался @user.address2 чтобы не вылетало.
все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.
На nodejs такое собрать очень легко, но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejs
...
Рейтинг: 0 / 0
25 сообщений из 328, страница 2 из 14
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическая структура данных и MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]