Помощь      Поиск      Участники      Календарь      Новости
 Учебные Материалы      ВАЛтест     Фотогалерея Фотогалерея
 Правила форума      Виртуальные тренажеры      Мемуары


  Reply to this topicStart new topicStart Poll

> (2019) Объектно-Ориентир Програмир в картинках, ООП
VAL
Дата 9.03.2023 13:50
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 38049
Пользователь №: 1
Регистрация: 6.03.2004





(2019) Объектно-Ориентированное Программирование в картинках
Источник: https://habr.com/ru/post/463125/

QUOTE
ООП (Объектно-Ориентированное Программирование) стало неотъемлемой частью разработки многих современных проектов, но, не смотря на популярность, эта парадигма является далеко не единственной. Если вы уже умеете работать с другими парадигмами и хотели бы ознакомиться с оккультизмом ООП, то впереди вас ждет немного лонгрид и два мегабайта картинок и анимаций. В качестве примеров будут выступать трансформеры.


QUOTE
Прежде всего стоит ответить, зачем? Объектно-ориентированная идеология разрабатывалась как попытка связать поведение сущности с её данными и спроецировать объекты реального мира и бизнес-процессов в программный код. Задумывалось, что такой код проще читать и понимать человеком, т. к. людям свойственно воспринимать окружающий мир как множество взаимодействующих между собой объектов, поддающихся определенной классификации. Удалось ли идеологам достичь цели, однозначно ответить сложно, но де-факто мы имеем массу проектов, в которых с программиста будут требовать ООП.


QUOTE
SRP

(Single Responsibility Principle / Принцип единственной ответственности / Первый принцип SOLID). С ним вы, наверняка, уже знакомы из других парадигм: «одна функция должна выполнять только одно законченное действие». Этот принцип справедлив и для классов: «Один класс должен отвечать за какую-то одну задачу».  сожалению с классами сложнее определить грань, которую нужно пересечь, чтобы принцип нарушался.


QUOTE
Ортодоксальная ООП-церковь проповедует нам фундаментальную троицу — инкапсуляцию, полиморфизм и наследование, на которых зиждется весь объектно-ориентированный подход. Разберем их по порядку.


Это сообщение отредактировал VAL - 6.03.2024 07:02


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
VAL
Дата 9.03.2023 13:52
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 38049
Пользователь №: 1
Регистрация: 6.03.2004





QUOTE
Наследование

Наследование — это механизм системы, который позволяет, как бы парадоксально это не звучало, наследовать одними классами свойства и поведение других классов для дальнейшего расширения или модификации.


QUOTE
Полиморфизм

Полиморфизм — свойство системы, позволяющее иметь множество реализаций одного интерфейса. Ничего непонятно. Обратимся к трансформерам.


PS. Неявная типизация, латентная типизация или утиная типизация (англ. Duck typing) в ООП-языках:
- https://ru.wikipedia.org/wiki/Утиная_типизация


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
VAL
Дата 6.03.2024 07:02
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 38049
Пользователь №: 1
Регистрация: 6.03.2004





:doh:
QUOTE
Утиная типизация

Явление, которое мы наблюдаем в получившейся архитектуре, называется утиной типизацией: если что-то крякает как утка, плавает как утка, и выглядит как утка, то, скорее всего — это утка.

Переводя это на язык трансформеров, звучать будет так: если что-то стреляет как пушка, и перезаряжается как пушка, скорее всего, это пушка. Если устройство генерирует энергию, скорее всего, это генератор энергии.


Это сообщение отредактировал VAL - 6.03.2024 07:06


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
VAL
Дата 6.03.2024 07:11
Quote Post
Offline



Мэтр, проФАН любви... proFAN of love
*****

Профиль
Группа: Администраторы
Сообщений: 38049
Пользователь №: 1
Регистрация: 6.03.2004





QUOTE
Паттерны проектирования

Десятилетия разработки привели к тому, что сформировался список наиболее часто применяемых архитектурных решений, которые со временем были классифицированы сообществом, и стали называться паттернами проектирования. Именно поэтому, когда я прочитал впервые про паттерны, я с удивлением обнаружил, что оказывается, многие из них я уже использую на практике, просто не знал, что у этих решений есть название.

Еще одна ценность от паттернов — формализации терминологии. Гораздо проще коллеге сказать, что в этом месте используется «цепочка обязанностей», чем полчаса рисовать поведение и отношения объектов на бумажке.


QUOTE
Ну и собственно опрос, ради которого писалась статья: будь вы трансформером, в кого бы вы предпочли трансформироваться?
8.04% Автомобиль 139
29.17% Самолет 504
16.9% Вертолет 292
7.58% Танк 131
38.31% Степлер 662


Присоединённое изображение
Присоединённое изображение


--------------------
www.valinfo.ru
Всегда... Always....
Quod licet jovi, non licet bovi!
PMEmail PosterUsers Website
Top
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Reply to this topicStart new topicStart Poll