|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
SOLID принципы23.01.2017, 17:55. Показов 17632. Ответов 359
Метки нет (Все метки)
всего 5 принципов:
1) srp - класс должен описывать только те характеристики, которые на объект из предметной области возложены. То есть либо кот, либо пес, котопес быть не может. 2) ocp - Писать надо классы так, чтобы их можно было легко расширить, но не изменять 3) Лисков - ??? 4) делайте много маленьких интерфейсов, один дольшой интерфейс это плохо. Так как рефакторинг усложняется... 5) Инверсия зависимостей. Типо композицию поменяйте на агрегацию Я не понимаю принцип Лисков. Можете объяснить популярно?
0
|
|
| 23.01.2017, 17:55 | |
|
Ответы с готовыми решениями:
359
Нелогичные принципы программирования SOLID Нарушен ли solid ? |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 01.02.2017, 22:12 | |
|
0
|
|
|
Заблокирован
|
|
| 01.02.2017, 22:16 | |
|
hoggy, если вы хотите сказать, что динамически типизированные языки реализуются обычно на статически-типизированных, то это не значит что динамика реализуется через статику. Никто не мешает динамически-типизированный язык реализовать на динамически-типизированном, или статически-типизированный на динамически-типизированном. То что текущие реализации таковы, продиктованно, как правило, соображениями производительности.
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 22:51 | |||
|
Добавлено через 2 минуты
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 01.02.2017, 23:01 | ||
|
динамика на динамике - это ещё один оверхед. ещё одна прослойка. самая первая динамика всё равно будет через статику. и уже она будет отсасывать по эффективности у статики по полной.
0
|
||
|
Заблокирован
|
||
| 01.02.2017, 23:06 | ||
|
Вообще, Вы оффтопите, о производительности речи не было в данной ветке. Прекратите
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 01.02.2017, 23:08 | ||
|
машинный код вообще является без типизированным. статика позволяет его отлично оптимизировать. в отличие от динамики, которая в этом смысле сосет по полной.
0
|
||
|
Заблокирован
|
||
| 01.02.2017, 23:11 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 01.02.2017, 23:13 | ||
|
0
|
||
|
Заблокирован
|
|
| 01.02.2017, 23:15 | |
|
hoggy, да и вообще, положа руку на сердце, статика считается производительной скорей по-традиции. На мелких синтетических тестах, примитивных сниппетах она все еще превосходит динамику, да и то, не так критично, но вот производительность сложного приложения в целом, где производительность обусловлена не столько быстротой выполнения, сколько архитектурой -- уже совсем другой вопрос. И этот вопрос становится еще более запутаным, когда речь идет о JIT-компиляции.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 01.02.2017, 23:18 | |||
|
попробовать хоть раз попрограммировать в машинных кодах. и осознать, что процедурный императив не имеет никакого отношения к типизации. это просто циферки. взял сишку. забил чаровый массив циферкаме и привел к типу "указатель на функцию". и о боже! я только что создал функцию, прямо в динамике. прямо в машинных кодах! и запустил на выполнение! так на сишке рулили и педалили деды в далекие времена, когда ещё не было этих ваших питонов. и что примечательно: в этих циферках в массиве нет понятия типа. внезапно.
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 23:28 | |||
|
Кстати одна из причин почему нишу на которую претендовал смалтолк в кросс-платформенной разработке заняли другие JIT языки со статической типизацией. Типа Java, CX, C# Добавлено через 4 минуты Только тайпкасты указателей и типизацию операндов инструкции путать не надо, это две огромные разницы.
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 01.02.2017, 23:35 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 01.02.2017, 23:36 | |
|
Кстати и разница то статической и динамической типизации именно в том что при статической типы данных заданы инструкциями которые обрабатывают данные, в динамической тип задан в самих данных а код обработки на основе этих идентификаторов типов постоянно вангует какому именно набору инструкций все это добро на обработку перекинуть.
0
|
|
|
Заблокирован
|
|
| 01.02.2017, 23:37 | |
|
Fulcrum_013, Вы все путаете. Все в любом случае компилируется в инструкции для процессора, хоть в динамике хоть в статике. JIT отличается тем, что там перекомпиляция происходит во время выполнения. Статической типизированности это, в целом, ортогонально, исключая то, что при статической типизации компилятору легче оптимизировать код, вследствие того что он тупой, и даже машина в состоянии разобраться, что имела в виду мартышка и в чем она облажалась. Явная типизация тут играет дополнительным плюсом: как можно больше переложить на руки программиста.
Однако же, все эти дополнительные издержки на проверки и оптимизации сами по себе занимают время, поэтому возникают вопросы. Хороший пример, в этом отношении -- жаба. Она показывает неплохие результаты на синтетических тестах, однако же едва ли найдется более тормозной ЯП "в деле". Также тут имеет значение то, что все скомпилированное говно занимает огромные объемы памяти, и оверхед идет тупо из-за перелопачивания этой памяти. Ну и сам себе жер памяти __имеет_значение__ с тз конечного пользователя, не есть гуд.
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 23:43 | |||
|
Единственная змея с которой дружу - P-39 AirCobra Добавлено через 4 минуты При статической типизации как минимум вангования нет да и распределяются все промежуточные данные преимущественно на стеке вообще без оверхеда. А в куче обычно только долгоживущие крупные куски данных живут.
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 01.02.2017, 23:48 | ||
|
0
|
||
|
Заблокирован
|
||
| 01.02.2017, 23:48 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 23:55 | |||
|
Добавлено через 4 минуты
0
|
|||
|
Заблокирован
|
|||
| 02.02.2017, 00:04 | |||
|
Fulcrum_013,
не вникал в детали реализации, но практика показывает обратное. Именно статически-типизированная жаба -- лидер жера памяти. Добавлено через 1 минуту Добавлено через 2 минуты
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 02.02.2017, 00:04 | ||
|
0
|
||
| 02.02.2017, 00:04 | |
|
Solid Works Api
Применение SOLID принципов Solid Works Api и C#
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|