|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
SOLID принципы23.01.2017, 17:55. Показов 17508. Ответов 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
|
|||
| 27.01.2017, 16:28 | |||
|
Добавлено через 4 минуты При этом как оно гавкает вышестоящий код вообще не заботит. Главное что как то гавкает. Для того и изобреталось ООП чтобы вышестоящий код подающий команду голос не заботило как оно там гавкает или вообще мяукает
0
|
|||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||||
| 27.01.2017, 17:06 | ||||
|
В примере с квадратом. Если мы ожидали, что задав ширину 5 и высоту 3 мы получим прямоугольник площадью 15, то Принцип Лисков нарушается. Если нам всё равно, что площадь будет 9 или 25, то Принцип Лисков не нарушается.
0
|
||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 27.01.2017, 17:26 | |||||
|
Добавлено через 4 минуты И по большому счету все языки это лишь разные способы задания абстрактного дерева вычислений. Результат работы парсера для всех языков одинаков. Добавлено через 2 минуты Добавлено через 8 минут Точно так же делается и в обратную сторону. т.е. если есть автомат у которого на выходе алфавит A а нужны данные в алфавитах B,C,D,E и т.д. в разных случаях.
0
|
|||||
|
Заблокирован
|
|
| 27.01.2017, 17:38 | |
|
Shamil1, я у Вас там не увидел присваивания. Не путайте присваивание со связыванием. И синтаксический сахар тоже не надо тащить. Делайте то, о чем утверждали. Покажите присваивание на аппликации и абстракции.
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 27.01.2017, 18:50 | |||
|
Объясните, почему в ООП обязательно нужно "присваивание"?
0
|
|||
|
Заблокирован
|
||||
| 27.01.2017, 19:03 | ||||
|
Я не утверждал, что любое ООП требует изменяемого состояния, это не обязательное условие, если его нет, мы получим ослабленную версию того же ООП, в котором невозможно выразить абстракцию состояния и времени. Такое ООП мало чем отличается от ФП. Я говорил о полноценном ООП.
0
|
||||
|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
| 27.01.2017, 21:26 [ТС] | |
|
насчет инверсии зависимостей...
https://ru.wikipedia.org/wiki/... 0%B8%D1%8F Инъекция зависимостей и инверсия синонимы?
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 27.01.2017, 21:27 | ||
|
Если Вы под "ООП" понимаете то же самое, что и большинство теоретиков информатики... Зачем нужно "присваивание" в "полноценном ООП"?
0
|
||
|
Заблокирован
|
|
| 27.01.2017, 21:33 | |
|
Shamil1, Для построения абстракций. Вы без него, тупо, счетчик не сможете реализовать. Не говоря о чем то там сложном.
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|
| 28.01.2017, 01:51 | |
|
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 28.01.2017, 03:44 | ||
|
0
|
||
|
Заблокирован
|
||||
| 28.01.2017, 09:25 | ||||
|
Добавлено через 4 минуты Добавлено через 5 минут
0
|
||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 28.01.2017, 09:35 | |||
|
Добавлено через 1 минуту
0
|
|||
|
Заблокирован
|
|
| 28.01.2017, 10:02 | |
|
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 28.01.2017, 19:28 | |
|
0
|
|
|
Заблокирован
|
||
| 28.01.2017, 23:00 | ||
|
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 29.01.2017, 03:27 | |||
|
Например, что Вы написали про метод "void TurnOn(Lamp lamp)": А чтобы Вы заранее не считали, что там всё неправильно, и, читая её, пытались понять написанное, а не искать ошибки, я предлагаю почитать какую-то книгу с мировым именем. Такую, которая узнаётся по аббревиатуре, и у которой не только страница в википедии, но и собственный сайт. Чтобы Вы читали её с доверием. Я бы предложил CTM, так как в ней написано в том числе и про модели вычисления. Но, если эта книга покажется Вам слишком сложной, то лучше начать с SICP. Обе книги можно скачать бесплатно и на английском, и на русском языке.
0
|
|||
|
Заблокирован
|
||
| 29.01.2017, 05:36 | ||
|
0
|
||
| 29.01.2017, 08:36 | ||
|
Кстати о чтении книг
Нет, не то чтобы я "бравирую безграмотностью", но полагаю что подавляющее большинство точно так же пролистывает все эти книги "по диагонали". Возможно там и есть глубокие вещи которых я не знаю - но кому ж охота до них докапываться, а главное - зачем?
0
|
||
|
Заблокирован
|
|
| 29.01.2017, 08:53 | |
|
Igor3D,
Эту хрень я тоже полистал только сейчас, и схожие ощущения. Но SICP, таки, достаточно полезная книжка, она считается классикой и преподается в цитадели CS и ИИ. В целом, книжка неидеальна, в частности, там достаточно мало дается материала по ООП, одна глава, и там достаточно примитивные вещи. Но в целом, книга дает общее представление о программировании. Самое главное, то что там дается начальное представление о реализации языков, и озвучена абсолютно верная мысль, что настоящая разработка немыслима без реализации языка, оперирующего терминами предметной области, и позволяющего выражать мысли в категориях этой области. Также к преимуществам можно отнести и то, что там оперируют терминологией в канонической, академической манере, а не в фанбойс-стайл, как сейчас принято. Там под ФП подразумевается, например, только и исключительно подстановочная модель, а под декларативным программированием -- логическое. Никакой особой путаницы не происходит, в стиле "а што такое мое фапэ, которое рулез, и там есть цыкылы и монады в категориях пердофункторов" Я книгу эту полностью тоже не читал, она достаточно трудна, несмотря на кажущуюся простоту поднимаемых вопросов, но пользу для себя извлек. Кроме того, ее авторы, в особенности Сассман -- это признанные авторитеты в области ИИ. Этот человек работал с Карлом Хьюиттом, Терри Виноградом, и прочими монстрами ИИ, сам разрабатывал языки и технологии, то есть не теоретическое ололо, а реаллайф инженер. Рекомендую.
0
|
|
| 29.01.2017, 08:53 | |
|
Solid Works Api
Применение SOLID принципов Solid Works Api и C#
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
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 и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|