powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Производительность - возвращенный интерфейс
25 сообщений из 58, страница 2 из 3
Производительность - возвращенный интерфейс
    #39629367
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eny,

IEnumerable и LINQ - фигня полные.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629375
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosIEnumerable и LINQ - фигня полные.IEnumerable и LINQ - лучшие изобретения человечества
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629388
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enyТогда вообще никакой разницы в быстродействии,именно! +1
Т.к. для быстродействия пишут спец методы как для асинхронных GetXXXXAsync.
Поэтому и сабж ниочем.

enyно использование IEnumerable предпочтительней, ибо дает определенную гибкость и архитектурные плюшки.
В архитектуре есть слово оверхед.
Поэтому программисты много получают)).
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629391
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoseny,
IEnumerable и LINQ - фигня полные.
Потому что ты веб не писал.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629401
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

веб тоже фигня полная
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629445
eny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eny
Гость
ViPRosPetro123,

веб тоже фигня полная
моя прога круче твоей фигни хахахааа
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629448
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProViPRosIEnumerable и LINQ - фигня полные.IEnumerable и LINQ - лучшие изобретения человечества
Далеко не лучшие, но хорошо что их изобрели. Без них хуже.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629449
eny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
eny
Гость
Petro123enyно использование IEnumerable предпочтительней, ибо дает определенную гибкость и архитектурные плюшки.
В архитектуре есть слово оверхед.
Поэтому программисты много получают)).

Нету тут никакого оверхеда, жизнь заставит - будешь писать енумераторы сам... пачками
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629472
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

приятно услышать в свой адрес много грязи от умного человека. всех благ!
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629538
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TДалеко не лучшие, но хорошо что их изобрели. Без них хуже.
ну, у него и веб фигня, и Фаулер фигня. Так что спор бесполезен.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629540
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enyPetro123пропущено...
В архитектуре есть слово оверхед.
Поэтому программисты много получают)).
Нету тут никакого оверхеда, жизнь заставит - будешь писать енумераторы сам... пачками
"оверхед или жизнь"
Вот оказывается как строятся аргументы).
....
Даже когда ты пишешь:
var s =
Ты уже решаешь что будет оверхедом а что нет.
Написать:
Код: c#
1.
2.
3.
string s = 
//или
var s = 
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629542
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Gobzo Kobler, вчера, 23:15 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1290314&msg=21331447][21331447]
>...Нутром чую что это неправильно...
Иди от задачи, знай и умей как работать с тем и другим вариантами.
Я обычно храню выборку из базы данных в списке или ObservableCollection<row_Entity>.

Для списка могу
так List<row_Entity> lst_Entity = new List<row_Entity>();
или так IList<row_Entity> Ilst_Entity = new List<row_Entity>();

Но с ObservableCollection это не проходит
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629650
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевНо с ObservableCollection это не проходис чего вдруг? ObservableCollection реализует IList
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629742
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Shocker.Pro, сегодня, 09:51 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1290314&msg=21335619][21335619]
>...ObservableCollection реализует IList ...
ObservableCollection реализует много интерфейсов.
Мне нужно это - WPF предоставляет ObservableCollection<T> класс, который является встроенной реализацией коллекции данных, которая реализует INotifyCollectionChanged интерфейса.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629757
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевIList<row_Entity> Ilst_Entity = new List<row_Entity>();

Но с ObservableCollection это не проходитНу ты же пишешь конкретно про IList, в этом контексте я тебе и ответил. Или раскрывай, что куда у тебя "не проходит"
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629855
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Shocker.Pro, сегодня, 12:05 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1290314&msg=21336128][21336128]
>Ну ты же пишешь конкретно про IList...
Я не писал конкретно про IList, - вот моя фраза - обычно храню выборку из базы данных в списке или ObservableCollection<row_Entity>.
Работаю с выборкой в DataGrid-е и поступаю так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
     . . .  
     //-- Готовим параметры вызова хранимой процедуры
      asp = new OracleParameter[4];
      asp[0] = new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output);

      string xstr = tbx_Название.Text.Trim();
      xstr = (string.IsNullOrEmpty(xstr)) ? null : xstr + "%";
      asp[1] = new OracleParameter("x_nazvanie", xstr);

      asp[2] = new OracleParameter("x_dt_begin", (DateTime)dpr_Начало.SelectedDate);
      asp[3] = new OracleParameter("x_dt_end", (DateTime)dpr_Конец.SelectedDate);

      //-- Чистим кеш
      lst_Entity = null;
      lst_Entity = new List<row_Entity>();

      при.tmrStart(); //-- запуск процесса визуализации получения выборки
      //-- Получение выборки
      await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.VD_Inspek_Sel", wsp.sp_Sel, asp, RowToEntity));
      //-- Обработка не штатной ситуации
      if(wsp.wspErr != null) { MessageBox.Show(wsp.wspErr, caption_Entity, MessageBoxButton.OK); }

      //-- Покажем выборку
      при.tmrStop(); //-- Останавливаем процесс визуализации формирования выборки
      dgv_Entity.AutoGenerateColumns = false;
      dgv_Entity.ItemsSource = null; //-- Чистим DataGrid
      if (lst_Entity != null) {
        [color=red]oc_Entity[/color] = new ObservableCollection<row_Entity>(lst_Entity); 
        dgv_Entity.ItemsSource =[color=red] oc_Entity[/color];
        //-- Флаг размера выборки
        lbl_ФРВ.Visibility = (nRow == гп.max_Выборка) ? Visibility.Visible : Visibility.Hidden;
        if (oc_Entity.Count != 0) {
          dgv_Entity.SelectedIndex = 0;
          xrow = (row_Entity)dgv_Entity.SelectedItem;
          dgv_Entity.ScrollIntoView(xrow);
        }
        lst_Entity = null;
      }
      . . . 


На вход DataGrid поставляю объект - dgv_Entity.ItemsSource = oc_Entity;
Как это заменить интерфейсом не знаю.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629870
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае ты присваиваешь свежесозданный экземпляр коллекции напрямую источнику данных - ну их где тут сабж - разговор-то про интерфейсы.

Если ты напишешь
Код: c#
1.
public IList<row_Entity> Ilst_Entity {get;set;} = new ObservableCollection<row_Entity>(lst_Entity); 

и скормишь датагриду, ничего принципиально не поменяется
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629958
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Shocker.Pro, сегодня, 14:18 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1290314&msg=21336856] [21336856]
>...и скормишь датагриду, ничего принципиально не поменяется
Если правильно понял, то это тождественно:
Ilst_Entity = new ObservableCollection<row_Entity>(st_Entity);
dgv_Entity.ItemsSource =Ilst_Entity;
и
oc_Entity = new ObservableCollection<row_Entity>(lst_Entity);
dgv_Entity.ItemsSource = oc_Entity;
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39629983
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря, не понял вопроса, но речь не об этом.
hVosttПо поводу List. Его можно использовать только внутри реализации, можно принимать/отдавать только внутри приватных методов, даже не protected, только private.Вот ты внутри своего метода и используешь что хочешь и как хочешь, и твой пример не имеет никакого отношения к обсуждаемому вопросу. И внутренний источник данных обычно не выставляется наружу.
А у тебя вообще неизвестно зачем создается лист, а потом на базе листа ObservableCollection.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39630057
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo KoblerhVostt,

приятно услышать в свой адрес много грязи от умного человека. всех благ!

я хз, какую вы "грязь" уважаемые судари видети и где...

но если хотите любезностей, а не помощи, предупреждайте заранее.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39630137
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttGobzo Koblerпротив привычного
Код: c#
1.
public List<string> GetItems()




Как же долго нам приходится выбивать вот эту дурь из головы джуниоров. Сколько копий сломано...

Ээээх...

полностью поддерживаю, коллега
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39630345
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Shocker.Pro, 13 апр 18, 15:48 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1290314&msg=21337320][21337320]
>Честно говоря, не понял вопроса, но речь не об этом.
Честно говоря, я не понял, что Вы не поняли.
Автор утверждающе : ...но усвоил никогда не возвращать из метода интерфейс ...Нутром чую что это неправильно...
hVostt сузил вопрос - List<T> или IList<T>. Что собственно и правильно - имеет смысл пользоваться интерфейсами.
Но всегда ли это возможно?
Как записать dgv_Entity.ItemsSource = GetItems(); если item есть ObservableCollection?
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39630366
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевКак записать dgv_Entity.ItemsSource = GetItems(); если item есть ObservableCollection?
Судя по документации: DataGrid.ItemsSource Property, - подойдёт любой тип, реализующий IEnumerable.

Другими словами Ваш метод GetItems вполне себе может быть определён так:
Код: c#
1.
IEnumerable GetItems()


При этом внутри создавать ObservableCollection.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39630370
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевКак записать dgv_Entity.ItemsSource = GetItems(); если item есть ObservableCollection?Зачем вообще GetItems() должен возвращать ObservableCollection? Если это обращение, скажем, к репозиторию, то репозиторий уж точно не должен возвращать никакого ObservableCollection, он может вернуть ICollection или IEnumerable, из которого уже на уровне модели преставления создается ObservableCollection.
...
Рейтинг: 0 / 0
Производительность - возвращенный интерфейс
    #39630381
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
он пока ещё не дошёл до понятий ОРМ, репозитарий, модель и MV***
По его коду видно.
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 2 из 3
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Производительность - возвращенный интерфейс
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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