|
|
||||||||||||||||
.NET 4.x Классы или интерфейсы?10.06.2017, 23:28. Показов 9142. Ответов 129
Метки нет (Все метки)
Согласно новомодным книжкам от очередных гуру программистов, делаю на уровне интерфейсов.
Итак, накидаю примерчик:
Уно:
1
|
||||||||||||||||
| 10.06.2017, 23:28 | |
|
Ответы с готовыми решениями:
129
Как правильно разработать архитектуру программы (классы, интерфейсы)
Интерфейсы. Выделить у классов общий интерфейс(или интерфейсы) |
|
|
|
| 12.06.2017, 20:00 [ТС] | |
|
Psilon, так вы case на типе сделайте. Так то понятно что всё гут.
0
|
|
|
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,739
|
|
| 12.06.2017, 20:10 | |
|
Psilon, интересная оптимизация на скриншоте.
0
|
|
| 13.06.2017, 06:55 | |
|
Не по теме: Psilon, Кликните здесь для просмотра всего текста
тред про ооп костыли для жуткой (да еще и медленной) эмуляции адт. как я и говорил c# для работы с данными не предназначен :)
0
|
|
|
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,739
|
|
| 13.06.2017, 06:58 | |
|
pycture, эм, что именно тут жуткое и тормозное?..
0
|
|
|
Master of Orion
|
||
| 13.06.2017, 12:22 | ||
|
pycture, шарп - язык общего назначения, он для всего предназначен :dunno: То, что есть более новые языки с более лучшим устройством - не удивительно, покуда мы не считаем, что всё уже изобрели, и хороших языков больше не появится. Алсо не уверен, что шарп медленнее. Бенчмарки в студию
![]() ![]() Architecture > Performance.
0
|
||
| 13.06.2017, 12:25 [ТС] | |
|
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||
| 13.06.2017, 13:14 | |||
|
адт Time: 2264 ms ![]() Добавлено через 2 минуты визитры отсюда Классы или интерфейсы?
0
|
|||
|
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,739
|
|
| 13.06.2017, 14:23 | |
|
pycture, замените в том коде
foreach на for, может результаты выровняются
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||
| 13.06.2017, 14:28 | |||
|
Добавлено через 1 минуту
0
|
|||
|
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,739
|
|
| 13.06.2017, 14:33 | |
|
pycture, нет, вы не поняли, уберите только в примере с Visitor.
![]() Можно посмотреть, как вы сравнивали?
0
|
|
|
|
|||
| 13.06.2017, 19:59 [ТС] | |||
|
Всё что там описывается как-то интуитивно реализовывал сам. От недостатка знаний в области программированя модель была, а вот реализация... а реализацию рефакторил ежемесячно ![]() Так что может впереди ещё этот визитор, если осознаю как он должен работать применительно ко мне, и подойдёт ли именно он или какой другой шаблон. Собсна, применительно к теме искал ответ на ненужный вопрос. А ответы участников для меня были лишь отзвуком правильности.
1
|
|||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||
| 14.06.2017, 06:26 | |||
|
визиторы Time: 842 ms адт Time: 804 ms Добавлено через 2 минуты
0
|
|||
|
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,739
|
|
| 14.06.2017, 06:29 | |
|
pycture, я имел в виду увидеть ваш вариант использования "АДТ". Сколько возможных типов проверялось? Один, пять, десять? Это ведь тоже важно.
Добавлено через 1 минуту Не по теме: Кстати, нифига себе вышла разница между
0
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||||||||
| 14.06.2017, 07:11 | ||||||||
|
Не по теме:
Кликните здесь для просмотра всего текста
Добавлено через 3 минуты
0
|
||||||||
|
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,739
|
||||||
| 14.06.2017, 07:18 | ||||||
|
pycture, а можно сравнить с кодом на C#? Я просто хз про F#, может компилятор тут свою двойную диспетчеризацию добавляет, с блекджеком и плюхами или ещё какую оптимизацию:
0
|
||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||||
| 14.06.2017, 07:45 | |||||||
|
приведенный код в 20 строк (если смотеть через ilspy), развертывается в какойто ад на c# размером в 1000 строк. Добавлено через 1 минуту Кликните здесь для просмотра всего текста
0
|
|||||||
|
14370 / 9471 / 1360
Регистрация: 21.01.2016
Сообщений: 35,739
|
||||||||
| 14.06.2017, 08:07 | ||||||||
|
То, что получилось кардинально отличается от варианта, что рассматривал ТС: пачка IF A IS B ELSE и просто реализует идею со свойством-признаком в общем, базовом классе, что я изначально предложил. В общем-то, оно работает быстрее остальных вариантов, потому, что тут ни метаданных (не считая каста) ни вызова виртуальных методов (если общее свойство не додуматься сделать виртуальным). Я так понимаю, что если типов станет очень много (вряд ли реалистичный сценарий), то вариант с тегами может начать отставать от двойной диспетчеризации. Особенно сильно это может проявиться, если для каждого типа понадобится каст. Ведь в DD кастов нет в принципе. Но сравнение вышло интересным. ![]() Добавлено через 3 минуты Собственно, всю картину портит это:
0
|
||||||||
| 14.06.2017, 08:07 | |
|
Обобщённые интерфейсы и классы Абстрактные классы и интерфейсы
Интерфейсы и абстрактные классы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|