|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
SOLID принципы23.01.2017, 17:55. Показов 18081. Ответов 359
Метки нет (Все метки)
всего 5 принципов:
1) srp - класс должен описывать только те характеристики, которые на объект из предметной области возложены. То есть либо кот, либо пес, котопес быть не может. 2) ocp - Писать надо классы так, чтобы их можно было легко расширить, но не изменять 3) Лисков - ??? 4) делайте много маленьких интерфейсов, один дольшой интерфейс это плохо. Так как рефакторинг усложняется... 5) Инверсия зависимостей. Типо композицию поменяйте на агрегацию Я не понимаю принцип Лисков. Можете объяснить популярно?
0
|
|
| 23.01.2017, 17:55 | |
|
Ответы с готовыми решениями:
359
Нелогичные принципы программирования SOLID Нарушен ли solid ? |
| 29.01.2017, 11:48 | ||
|
0
|
||
|
Заблокирован
|
|
| 29.01.2017, 12:29 | |
|
Igor3D, мотивы могут быть в том, что затраченные усилия и время служат инвестициями в будущее, например, Вы не будете решать задачу так, как решил бы ее Вася Пупкин, стандартно, идиоматично Вашему языку и шаблонам принятым в нем, а найдете стократно более эффективное решение.
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 29.01.2017, 14:36 | ||
|
В этой главе авторы знакомят читателя с основными понятиями - функции, списки, потоки, объекты и т.д. (поэтому списки оказались рядом с потоками). Подробно эти понятия объясняются в последующих главах. В частности concurrency посвящено три главы (4, 5 и 8). В этой книге нет примеров на псвдокоде. Все примеры там на языке Oz. Вы можете запустить их, например, в ideone. Насчёт "зачем" (если Вам интересно) прочитайте Предисловие.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 30.01.2017, 16:49 | |||
|
который на чистой сишечке велосипедят ооп - только в путь. Добавлено через 10 минут инъекция - одна из реализаций инверсии))
0
|
|||
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 30.01.2017, 16:57 | ||
|
Для ООП нужно наследование. Нельзя имитировать наследование на чистой сишечке.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 30.01.2017, 17:06 | ||
|
оо-программирование, это программирование с применением оо-парадигмы. собственно, это - единственное требование. на сишке ничего не мешает проэмулировать и наследование, и полиморф. а вообще, сама по себе оо-парадигма основана на процедурной парадигме. без процедурщины ооп просто не может существовать. это же такая банальщина и очевидность
0
|
||
|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
| 30.01.2017, 17:22 [ТС] | |
|
Ооп это типо ии.
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 30.01.2017, 19:23 | |||
|
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 30.01.2017, 21:35 | ||
|
0
|
||
|
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
|
|
| 30.01.2017, 21:38 [ТС] | |
|
На си пишет линус торвольдс например. И многие линуксоиды, они ваще сипипи не уважают. Гип глейд делает. А ядре линукса дофига гоуту.. вот так
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||||||||
| 30.01.2017, 22:09 | |||||||||||||||||||
|
всё то, что оо-язык предоставляет из коробки, благодаря технологиям компиляторов, в сишке велосипедируется вручную. тоже наследование - при помощи макросов. синтаксически это конечно отличается от дизайна какого нибудь с++, но смысл тот же. вообще, ключевая мысль: оо-парадигма базируется на процедурной парадигме. любой оо-код можно представить в виде процедурной парадигмы. а вот наоборот - нельзя. без процедурной парадигмы существование ооп - невозможно. и вот это:
и сможем сделать так:
который реализуется при помощи обычных свободных функций самой что ни на есть процедурной парадигмы. и разница между сишкой и каким нибудь "тру-ооп-языком" заключается лишь в том, что в первом случае всё делается вручную. а во втором - куча синтаксического сахара. и вот сейчас будет главный тезис: оо-парадигма, не что иное, как эволюция развития процедурной парадигмы. считайте, что ооп - наследник процедурщины. "парадигма" вообще - это система взглядов и способа абстрагирования. в контексте оо-программирования: смотреть в исходный код, и видеть не просто какие то закорючки, а объекты - сущности, наделенные свойствами и умениями. взять какой нибудь к примеру std::string. вполне себе полноценный самостоятельный механизм. ну или там, std::vector какой нибудь. они и не нуждаются ни в каком наследовании, но от этого они не перестают быть механизмами. я хочу сказать, что наследование, полиморфизм - это конечно киты, на котором держится развитое оо-программирование. но это не является основополагающим для самой парадигмы. Добавлено через 5 минут вот здесь интересный момент: у них есть что-то общее. понятие функции, например. но сама фп-парадигма в корне отличается от процедурщины. если рассматривать фп в контексте с++, то это - язык метапрограмминга. полный по тьюрингу, но он в корне отличается и от привычной сишной процедурщины, и от привычной приплюснутой системы классов. собственно, главная проблема новичков с шаблонами: они привыкли думать в оопешном стиле. а что бы освоить шаблоны, нужно думать в фпшном стиле. проблема новичков с Александресску - ребятам тупо трудно перестроить мышление. Алесандресску забыл сказать, что с шаблонами нужно думать по другому. я хочу сказать, что фп, и процедурщина - вообще не совместимые парадигмы. там нужно по разному думать.
0
|
|||||||||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 30.01.2017, 22:23 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 30.01.2017, 22:46 | |
|
0
|
|
|
Заблокирован
|
||
| 30.01.2017, 22:50 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 30.01.2017, 22:54 | |||
|
Добавлено через 1 минуту
0
|
|||
|
Заблокирован
|
|||||
| 30.01.2017, 23:00 | |||||
|
Что касается шаблонов, то это можно конечно, назвать метапраграммированием, с натяжкой. Это макросистема, переписывание кода препроцессором. С++ де факто сам представляет из себя препроцессор си, хотя сейчас уже таковым не является. Но переписывание шаблонов препроцессором -- это слишком убогий вид метапрограммирования. Настоящее метопрограммирование немыслимо без интроспекции и рефлексии, свойств, которыми в полной мере сейчас обладают только некоторые ООП-языки, и некоторые лиспы. Добавлено через 1 минуту Добавлено через 1 минуту
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 30.01.2017, 23:25 | ||||||
|
и это не мешает ей манипулировать указателямии на функции. что за бред? вы вообще понимаете, как устроен полиморфизм на низком уровне? как устроенна технология COM ? это всё - сишка чистой воды. к тому же, я ничего ни с чем не сравниваю. я конкретно утверждаю, что матапрограммирование на плюсах исповедуют функциональную парадигму. будите спорить с очевидным? хотя в принципе... не считая сериализации допустим, что уже сейчас нельзя сделать, используя существующую технологию метапрограмминга?
0
|
||||||
|
Заблокирован
|
|
| 30.01.2017, 23:32 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 30.01.2017, 23:34 | |
|
0
|
|
| 30.01.2017, 23:34 | |
|
Solid Works Api
Применение SOLID принципов Solid Works Api и C#
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|