C#: Парадигмы vs Принципы vs Паттерны программирования - видео HD

C#: Парадигмы vs Принципы vs Паттерны программирования - видео
00:16:41
Обнаружено блокирование рекламы на сайте

Для существования нашего сайта необходим показ рекламы. Просим отнестись с пониманием и добавить сайт в список исключений вашей программы для блокировки рекламы (AdBlock и другие).

12n.ru 19172 ролика

Парадигмы vs Принципы vs Паттерны программирования - видео.

Глубокое погружение в различия между парадигмами, паттернами и принципами программирования. Разбираемся детально:
— Что такое парадигмы и почему их несколько
— Чем принципы SOLID отличаются от паттернов проектирования
— Как появились эти концепции и почему C++ сыграл ключевую роль
— Как применяются эти концепции в современных языках (C++, Java)
— Почему некоторые принципы работают не во всех парадигмах

## Ссылки
github.com/yellow-footed-honeyguide

#программирование #разработка #паттерны #solid #cpp #rust
RSS
@sudo-apt-upgrade-brain
20:43
Хорошая структурная подача. Спасибо!
@jarogor
21:15
+3
Скорее всего есть разные ниши, где-то концентрированный ООП, где-то ФП стиль, а не то, чтобы полноценные какие-то взаимозаменяемые парадигмы. Ибо вот взять REST API, который постоянно принимает и отдаёт какие-то json структуры, что означает их какую-то сериализацию и репрезентацию внутрь приложения. А следовательно уже ФП пролетает мимо со своим стремлением к отсутствию структур. Он не может полностью это реализовать. Ибо это именно что структуро-ориентированность, всё приурочено к данным доменной области, которая состоит из структур и их связей, что по сути основа БД, вокруг которых всё и строится в итоге. То есть смысл какого-то долгоживущего приложения в его персистентном хранилище, которое полностью структурировано и можно сказать именно это объективное обстоятельство порождает ООП естественным образом. И ещё попробуй из него выпрыгнуть. Поэтому мне кажется, что сама эта расхожая постановка вопроса про самостоятельные парадигмы — неверная. Она ставит на одну полку категориально разные вещи. ФП это скорее просто нишевый стиль, как процедурный какой-нибудь, или аспектный. Он не может заменить ООП, он просто акцентировано выносит поведение на видное место, но работать всё равно придётся со структурами данных. Минимизация переменных для человеко-читабельности не значит минимизацию для машино-читабельности. Сама сигнатура любой функции предопределяет что-то принять и что-то вернуть, её запуск уже порождает ссылки на куче, сборщик мусора и что-нибудь такое. А то, что этого не видно для человека это не значит, что этого нету. Череда функций вызываемых друг другом просто скрывает мимолётное создание переменных от читателя. И чем строже типы, тем больше там скрытого контроля над структурами их входов и выходов. В общем, мне кажется это интересной стилистической особенностью, но фундаментально ООП — единственная парадигма. Просто она для своего существования требует некоторой эволюционной развитости экосистемы, поэтому появилась не сразу, в прадедовские времена языка СИ её не было, но тем не менее решение повседневных проблем языка типа СИ с неизбежностью приводит к ООП. Мне кажется, что это потому, что человеческий язык в фундаменте имеет субъект-объектное, а не функциональное устройство. Мы в ООП отражаем какой-то фундамент мышления. И поэтому нет альтернативы этой парадигме. Но это просто моё мнение из интернета, никто не обязан с ним соглашаться
@o01122
23:30
Еще забыл Идиомы.
@antizai.
12:46
+1
Морячёк плавает
— Ответ gpt: Парадигмы vs Принципы vs Паттерны программирования

Парадигмы, принципы и паттерны программирования — это три ключевых концепции в разработке программного обеспечения, каждая из которых играет свою роль. Давайте рассмотрим их подробнее:

## Парадигмы программирования

Парадигма программирования — это общий подход или стиль программирования, который определяет, как разработчики организуют и структурируют код. Основные парадигмы включают:
1. Императивное программирование: Описание шагов, которые необходимо выполнить для достижения результата (например, C, Java).
2. Декларативное программирование: Описание того, что нужно сделать, без указания, как это сделать (например, SQL, HTML).
3. Объектно-ориентированное программирование (ООП): Организация кода в виде объектов, которые содержат данные и методы (например, Java, C++).
4. Функциональное программирование: Использование функций как основных строительных блоков, акцент на неизменяемость данных (например, Haskell, Scala).
5. Логическое программирование: Основывается на логических выражениях и правилах (например, Prolog).

## Принципы программирования

Принципы программирования — это общие рекомендации и лучшие практики, которые помогают разработчикам создавать качественный и поддерживаемый код. Некоторые из них включают:
1. DRY (Don't Repeat Yourself): Избегайте дублирования кода.
2. KISS (Keep It Simple, Stupid): Стремитесь к простоте в дизайне и реализации.
3. YAGNI (You Aren't Gonna Need It): Не добавляйте функциональность, которая не нужна в данный момент.
4. SOLID: Набор принципов для проектирования объектов в ООП (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion).

## Паттерны программирования

Паттерны программирования — это проверенные решения распространенных проблем, которые возникают в процессе разработки. Они могут быть как высокоуровневыми (архитектурные паттерны), так и низкоуровневыми (проектные паттерны). Примеры:
1. Singleton: Гарантирует, что класс имеет только один экземпляр и предоставляет глобальную точку доступа к нему.
2. Factory Method: Определяет интерфейс для создания объектов, но позволяет подклассам изменять тип создаваемого объекта.
3. Observer: Определяет зависимость «один ко многим» между объектами, так что при изменении состояния одного объекта все зависимые объекты уведомляются и обновляются автоматически.
4. MVC (Model-View-Controller): Архитектурный паттерн, разделяющий приложение на три взаимосвязанные компоненты.

## Заключение
— Парадигмы определяют общий подход к программированию.
— Принципы — это рекомендации для написания качественного кода.
— Паттерны — это готовые решения для распространенных проблем.

Каждая из этих концепций важна для создания эффективного и поддерживаемого программного обеспечения.

Новости

«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost Рынок DLP-систем в Центральной Азии: как законы о суверенитете данных стимулируют спрос на локальные решения «СёрчИнформ КИБ» расширил возможности «открытого контроля» для ПК на Linux «РИКИТЛАБ» представила новую модель техподдержки ИТ-инфраструктуры промышленных предприятий MWS Cloud расширяет линейку ИИ-сервисов доступом к крупнейшей опенсорсной LLM

«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost


20 часов назад
«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost
«СёрчИнформ SIEM» интегрирована с почтовым сервером RuPost
Рынок DLP-систем в Центральной Азии: как законы о суверенитете данных стимулируют спрос на локальные решения
Рынок DLP-систем в Центральной Азии: как законы о суверенитете данных стимулируют спрос на локальные решения
«СёрчИнформ КИБ» расширил возможности «открытого контроля» для ПК на Linux
«СёрчИнформ КИБ» расширил возможности «открытого контроля» для ПК на Linux
«РИКИТЛАБ» представила новую модель техподдержки ИТ-инфраструктуры промышленных предприятий
«РИКИТЛАБ» представила новую модель техподдержки ИТ-инфраструктуры промышленных предприятий
MWS Cloud расширяет линейку ИИ-сервисов доступом к крупнейшей опенсорсной LLM
MWS Cloud расширяет линейку ИИ-сервисов доступом к крупнейшей опенсорсной LLM