|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
SOLID принципы23.01.2017, 17:55. Показов 17645. Ответов 359
Метки нет (Все метки)
всего 5 принципов:
1) srp - класс должен описывать только те характеристики, которые на объект из предметной области возложены. То есть либо кот, либо пес, котопес быть не может. 2) ocp - Писать надо классы так, чтобы их можно было легко расширить, но не изменять 3) Лисков - ??? 4) делайте много маленьких интерфейсов, один дольшой интерфейс это плохо. Так как рефакторинг усложняется... 5) Инверсия зависимостей. Типо композицию поменяйте на агрегацию Я не понимаю принцип Лисков. Можете объяснить популярно?
0
|
|
| 23.01.2017, 17:55 | |
|
Ответы с готовыми решениями:
359
Нелогичные принципы программирования SOLID Нарушен ли solid ? |
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 01.02.2017, 00:39 | ||
|
0
|
||
|
Заблокирован
|
|
| 01.02.2017, 00:42 | |
|
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 01.02.2017, 00:47 | ||
|
0
|
||
|
Заблокирован
|
||
| 01.02.2017, 00:54 | ||
|
На практике, эти проверки, как правило, вообще не нужны.
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 01.02.2017, 01:01 | ||
|
0
|
||
|
Заблокирован
|
|||
| 01.02.2017, 01:10 | |||
|
Ключевым моментом является то, что язык с проверкой типов -- это слабый язык. На этом все. Добавлено через 4 минуты
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 01:11 | |||
|
Вы же предлагаете вместо этих единых интерфейсов устроить кашу которую еще непонятно как необходимо разгребать извне, исключительно за счет проверок со стороны дирижера. А это есть не что иное как скатывание обратно в процедурно-структурную кашу а не ООП.
0
|
|||
|
Заблокирован
|
|
| 01.02.2017, 01:12 | |
|
Fulcrum_013, короче, я не собираюсь тут проповедовать что-либо, равно как и разубеждать адептов
Хотите понимать ООП, смотрите в первоисточники, а мантры обсуждать нет смысла.
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 01:18 | |||
|
Добавлено через 5 минут Отрезвление наступило после подсчета количества сравнений "что там за тип" при обработке которое нужно сделать для обработки последовательности. N^2 у этих маразматиков против 0 в реальном ООП с проверкой типов при компиляции.
0
|
|||
|
Заблокирован
|
|||
| 01.02.2017, 01:23 | |||
|
Добавлено через 2 минуты
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 01.02.2017, 01:29 | ||||
|
Добавлено через 3 минуты
0
|
||||
|
Заблокирован
|
||
| 01.02.2017, 01:32 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 01:41 | |||
|
Мало того ООП язык в сборщике мусора не просто не нуждается, а сборщик мусора ООП языкам категорически противопоказан. Потому как сам по себе мусора генерировать не должен как к примеру С++, а по какому принципу организовывать уборку явно распределяемых программистом объектов виднее программисту исходя из сути задачи/назначения объектов. А встроенный мусоросборник и отсутствие деструкторов в скриптовых языках делают задачу создания иерархий автономных объектов вообще нереальной. К примеру объект не может самостоятельно удалится.
0
|
|||
|
Заблокирован
|
||
| 01.02.2017, 01:49 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 01.02.2017, 03:22 | |||
|
Добавлено через 1 час 16 минут Посему язык с динамической типизацией по определению предназначен не более чем для хеллоувердов, а для решения серьезных комплексных задач средств просто напросто не имеет.
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||||||
| 01.02.2017, 17:29 | ||||||
|
Кто-то пересказывает своими словами, что Алан Клей когда-то сказал про ООП неизвестно в каком контексте. Эти слова относятся к тому, как было реализовано ООП в Смолтолке. Где гарантия, что Алан Клей считает, что эта реализация самая правильная? Более того, по ссылке вообще нет описания ООП. Только несколько принципов без разъяснений, что они означают. Да те были сформулированы очень давно. Алан Клей с тех пор мог поменять своё мнение. Если у Вас не секта адептов тру ооп, то должны быть учебники/книги/статьи и так далее. Поэтому вопрос остаётся: Где можно почитать про настоящее ООП? Добавлено через 8 минут Добавлено через 3 минуты Добавлено через 3 минуты Добавлено через 8 минут Несколько примеров (из TPL): Язык Titanium использует вывод типов для анализа области видимости указателей и способен принимать более эффективные решения на основе этих данных, чем программисты, оптимизирующие программы вручную (это подтверждается измерениями). Компилятор ML Kit с помощью мощного алгоритма вывода регионов (region inference) заменяет большинство вызовов сборщика мусора (а иногда даже все вызовы) операциями управления памятью в стеке. Есть даже типы (dependent types), позволяющие выход за границы массива проверять во время компиляции.
0
|
||||||
|
Заблокирован
|
|
| 01.02.2017, 19:21 | |
|
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 01.02.2017, 20:23 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 01.02.2017, 22:05 | ||
|
нужно либо совсем не понимать природы статики, либо быть совсем упоротым, что бы не осознавать, какую цену приходится платить за динамику. и вопрос: а нахрена она вообще нужна? остается открытым.
0
|
||
|
Заблокирован
|
|
| 01.02.2017, 22:08 | |
|
0
|
|
| 01.02.2017, 22:08 | |
|
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|