powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическая структура данных и MVC
25 сообщений из 328, страница 4 из 14
Динамическая структура данных и MVC
    #38180539
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чисто ради интереса запустил мелкий тест тупой.
Код: c#
1.
2.
3.
            IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
            test1["Name"] = null;
            for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }


Время: 00:00:00.0109

Код: c#
1.
2.
3.
            dynamic test2 = new ExpandoObject();
            ((IDictionary<String, Object>)test2).Add("Name", "");
            for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }


Время: 00:00:01.2735

Код: c#
1.
2.
3.
4.
            DataTable test3 = new DataTable();
            test3.Columns.Add("Name");
            DataRow row = test3.NewRow();
            for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }


Время: 00:00:02.7623

и это еще expando и dataTable без класса сверху с перехватом TryGetMember
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180540
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ - Откуда столько негатива?
Ожидается любовь и доброта к троллю? Не бывать этому.

П.С. Два варианта, либо ты тупо троллишь, либо ты теоретик.

Больше повторять не буду: динамика - это серверная логика, на основе которой строится представление. Итого, в качестве модели (или ее члена) выступает DataTable, который формируется на сервере и отдается контроллером во вью. Вся эта красота динамически собирается в разоре в виде разметки, контролов, хелперов и т.д. таким образом, как это требуется. Как ты это соберешь - твои проблемы, если вызовешь несуществующую колонку, получишь ошибку. Что есть правильно. Что непонятно в этом элементарном вопросе?
Шаблоны пишут разработчики, а не пользователи, это нужно тоже понимать, если ты в эту сторону клонишь.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180552
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*чисто ради интереса запустил мелкий тест тупой.
Код: c#
1.
2.
3.
            IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
            test1["Name"] = null;
            for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }


Время: 00:00:00.0109

Код: c#
1.
2.
3.
            dynamic test2 = new ExpandoObject();
            ((IDictionary<String, Object>)test2).Add("Name", "");
            for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }


Время: 00:00:01.2735

Код: c#
1.
2.
3.
4.
            DataTable test3 = new DataTable();
            test3.Columns.Add("Name");
            DataRow row = test3.NewRow();
            for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }


Время: 00:00:02.7623

и это еще expando и dataTable без класса сверху с перехватом TryGetMember
Тест ничего не показывает по делу. Или ты в разоре будешь вьюху генерить из 100 тыс элементов?
В чем тут экономия - загадка. Попробуй написать на unmanaged с ассемблерными вставками на регистрах, подтянешь dll к проекту, получишь профит. Пацталом.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180558
*Ihor*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ

Может это в твоих правилах так, разрабы пусть учат матчасть , дизайнеры пусть не лажают, клиенты пусть идут лесом со своими запросами.
У меня подход другой, а создаю кернел который должен по возможности предусмотреть себя от человеческого фактора и не сидеть и надеется что ктото не налажает и встанет весь проект. Я потратил на старую систему дохрена сил и времени, и оно того поверь стоило, я не слал никого подальше и старался предусмотреть бо знал заранее где будут лаги. Потому если разраб или дизайнер дает маху, вся система не стопорится. В тоже темплейте просто останется не распарсненый маркер, или не заполнится кусок шаблона, что легко поправить увидев, и при этом все работает дальше. Меня и так бесит когда в инете через раз натыкаешся на сайты где очередная страница выдает тебе красный дебаг ASP.NET вместо страницы, нехватало чтобы у меня мой проект так красиво работал.

Если есть возможность в API предусмотреть по возможности все от корявых рук, я лучше это сделаю, и никогда не буду надеется что ктото не налажает, а клиент не захочет изврат. В итоге это сведет к минимуму работу разраба при работе с шаблоном, а также дает возможность написать легкий и удобный веб редактор шаблона, избавив себя от разработчика чтобы он лез в кернел или api. Даже простой пользователь сможет спокойно справится с таким шаблоном расставив просто маркеры не сломав систему.
Ты же можешь слать куда подальше всех и дальше, это сугубо твое личное.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180585
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*МСУ

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

*Ihor*У меня подход другой, а создаю кернел который должен по возможности предусмотреть себя от человеческого фактора и не сидеть и надеется что ктото не налажает и встанет весь проект.

Кнопку «Сделать всё» ещё никому не удавалось сделать. Это нобель, не меньше.

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

Вот из-за таких студенческих походов и страдает бизнес со всеми вытекающими. Очень радостно пользователю видеть половину функционала, куски битого полуработающего js на клиенте, убитый аякс и поломанный json. Отлично! Зато темплейт не рухнул, какое счастье.
Сейчас мир стремится в сторону типизации, причем строгой. Ходить по сторонам будешь на базаре, а с языком программирования и темплейтами такие глупости не пройдут. И это правильно.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180595
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Если есть возможность в API предусмотреть по возможности все от корявых рук, я лучше это сделаю, и никогда не буду надеется что ктото не налажает, а клиент не захочет изврат.
Если бы по такой аналогии строился C# и ASP.NET, мы бы получили кучу неуправляемого навоза, который даже самый ярый старатель не в состоянии поддерживать, не то, что развивать.
Выйди из сумрака со своим допотопным классическим асп, .NET предлагает другую идеологию. Я понял, в чем твоя проблема, вот оно что. Желание перетащить убогую идеологию на грамотные новые рельсы с типизированным уклоном? Готов тебя разочаровать - отдавайся дальше в своём болоте с полурабочими темплейтами. Гы.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180620
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть пределы прогиба под пожелания пользователей. Превышение этого предела приводит к ухудшению условий жизни самих пользователей.

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

То что пользователи сами себе интерфейсы лабают означает, что на них кто-то перевалил свою работу
Выскажите свое мнение Force, Zoho, Qickbase и другим. мол какие они тупые и их продукт нафиг кому нужен когда есть Студия и программист.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180709
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*На nodejs такое собрать очень легко
неужели языковая поддержка dynamic так сильно помогает? с нужными либами для dynamic поди только синтаксис немного "кривоват" будет в языках других VM, но скорость разработки не в 9000 раз увеличится, а всего процентов на 10?

*Ihor*но nodejs не даст всего того что есть в .NET. Тотже к примеру PDF готового решения нету, и тучи других моментов, иначе я бы забил на .NET и сразу собрал бы на nodejs
а что мешает из nodejs вызывать DotNet библиотеки хотябы через remote (XMLRPC, Json, zeromq) или через C без ремотинга если производительность так нужна и если дотнет бриджа еще нету?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180720
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*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Посмотрите в сторону движка представления, отличного от Razor: " ASP.NET MVC View Engine Comparison ".
К примеру StringTemplate прочитает свойство user.address тогда, когда address на самом деле индексатор - user["address"].
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180723
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*все довольно таки просто, шаблоны раскиданы по папкам, есть общий дефотлтный, а есть /client/1/userList.cshtml
по реквесту /list/users/filter:age>10/ взять из таблицы содержимое с фильтром, отдать шаблону и сгенерить. Задача очень простая, и динамика нужна потому что структура таблица меняется на ходу. Сделать такое вполне реально и код будет очень гибким и легким. По крайней мере 10 лет уже так работает api.То есть API генерирует HTML? И как это сейчас реализовано?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180725
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosмного че они могут делать, но не делают или делают еще хуже
...
контейнеризирующие и фиг знает еще че делающие
как ток что нить приведешь в порядок, тут же все меняется, новый вын, нвый язык мода и т.д.

CSLA как раз позволяет взвалить сию нелегкую ношу на компанию уважаемого Роки, а самому сосредоточиться на business логике и удобном GUI на ВАШ выбор из постоянно расширяемого MS набора (с элементами добровольно-насильственного замещения)
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180735
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Опятьже - DataTable это двумерный линейный массив.
а что такое тогда DataSet с таблицами и реляциями? я то думал, что это inmemory подмножество полной БД в каком-нить ДБ серваке, доступном через ado.net провайдеров

или просто своя inmemory без всяких серваков ...
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180793
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раньше собирался делать нечто подобное на Odata&custom linq provider, но сейчас я бы прежде всего посмотрел на web api, в котором делается упор на это само описательный формат, и свой, специально обученный formatter.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180822
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*Время: 00:00:00.0109
Время: 00:00:01.2735
Время: 00:00:02.7623


Как говорится, доверяй, но проверяй. Выбрось свой таймер.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
long res1 = Execute(() => {
    IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
    test1["Name"] = null;
    for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }
});

long res2 = Execute(() => {
    dynamic test2 = new ExpandoObject();
    ((IDictionary<String, Object>)test2).Add("Name", "");
    for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }
});

long res3 = Execute(() =>
{
    System.Data.DataTable test3 = new System.Data.DataTable();
    test3.Columns.Add("Name");
    DataRow row = test3.NewRow();
    for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }
});




Execute
Код: c#
1.
2.
3.
4.
5.
6.
static long Execute(Action action)
{
    var sw = Stopwatch.StartNew();
    action();
    return sw.ElapsedMilliseconds;
}



Результатdynamic: 3 / ExpandoObject: 27 / DataTable: 9

9 милликекунд DataTable для 100 тыс операций, много?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180872
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*чисто ради интереса запустил мелкий тест тупой.
Код: c#
1.
2.
3.
            IDictionary<string, dynamic> test1 = new Dictionary<string, dynamic>();
            test1["Name"] = null;
            for (int i = 1; i <= 100000; i++) { test1["Name"] = "Tester"; }


Время: 00:00:00.0109

Код: c#
1.
2.
3.
            dynamic test2 = new ExpandoObject();
            ((IDictionary<String, Object>)test2).Add("Name", "");
            for (int i = 1; i <= 100000; i++) { test2.Name = "Tester"; }


Время: 00:00:01.2735

Код: c#
1.
2.
3.
4.
            DataTable test3 = new DataTable();
            test3.Columns.Add("Name");
            DataRow row = test3.NewRow();
            for (int i = 1; i <= 100000; i++) { row["Name"] = "Tester"; }


Время: 00:00:02.7623

и это еще expando и dataTable без класса сверху с перехватом TryGetMember

а если ограничиться небольшим расширяемым и настраиваемым кол-вом вариантов системы (например, 10 шт. и ее логики), а не по уникальной на каждого из 1 млн. юзеров или сколько их там., уже немного запутался чего там хотелось то в начале :-)

вообще managed всегда вычисляет намного быстрее человека (даже 10-и человек) и если правильно организовать, сузить так сказать выборку, то производильность DataSet скорее всего не критична, а так же производительность почти любой самой тормозной автоматизированной системы, даже релейно-ламповой
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180878
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а у DataSet только смена структуры "тормозит" или добавление строк тоже?
а то бы десяток датасетов можно было бы заранее заготовить с нужной структурой
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180895
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ihor*чисто ради интереса запустил мелкий тест тупой .

for (int i = 1; i <= 100000; i++) { row ["Name"] = "Tester"; }

[/src]

а поиск по имени можно не в цикле?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180898
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2а у DataSet только смена структуры "тормозит" или добавление строк тоже?
а то бы десяток датасетов можно было бы заранее заготовить с нужной структуройА Вы научитесь пользоваться Performance Profiler, он Вам и покажет, что сколько времени занимает.
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180902
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в рантайме классы порождать ещё не предлагали?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180926
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAsanyock2а у DataSet только смена структуры "тормозит" или добавление строк тоже?
а то бы десяток датасетов можно было бы заранее заготовить с нужной структуройА Вы научитесь пользоваться Performance Profiler, он Вам и покажет, что сколько времени занимает.

профайлером многие умеют, но мне не надо тратить свое время, поэтому и српашиваю
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180958
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAпропущено...
А Вы научитесь пользоваться Performance Profiler, он Вам и покажет, что сколько времени занимает.

профайлером многие умеют, но мне не надо тратить свое время, поэтому и српашиваюДа, добавление строк тоже "тормозит".

P.S.: если Вы используете CSLA, то зачем тратите своё время на DataSet-ы какие-то?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180966
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAP.S.: если Вы используете CSLA, то зачем тратите своё время на DataSet-ы какие-то?
А разве CSLA налагает ограничения на уровень DataAccess?

если про топик, то в целом интересен и даже удивителен для меня, ни разу такого подхода не встречал, и в сторону Mongo бы без этого топика даже не взглянул бы, а так хоть знаю теперь что такое NoSQL

ну и не все на CSLA->NH делать же, вдруг какую-нить command line тулзу на сотню строчек надо, для нее тоже 5 уровневую систему выстраивать?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180977
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2skyANAP.S.: если Вы используете CSLA, то зачем тратите своё время на DataSet-ы какие-то?
А разве CSLA налагает ограничения на уровень DataAccess?CSLA .NETCSLA .NET is a software development framework that helps you build a reusable, maintainable object-oriented business layer for your app.Вы точно разобрались в том, что такое CSLA .NET?
...
Рейтинг: 0 / 0
Динамическая структура данных и MVC
    #38180986
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВы точно разобрались в том, что такое CSLA .NET?

А вот Вы как думаете, может вопрошаемый точно знать и оценить, степень его понимания чего-либо ТОЧНО? Особенно если оценивающая сторона может иметь субъективное мнение.

а если конкретно по вопросу, то:
1) дата портал все же позволяет любой способ data access в т.ч., например, использование сервисов с JEE серверов, в т.ч. одновременно хоть со скольких хороших и разных
2) экземпляр DataSet тоже объект как ни странно, хоть и не DTO в общепринятом смысле
...
Рейтинг: 0 / 0
25 сообщений из 328, страница 4 из 14
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическая структура данных и MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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