Объекты и структуры данных (DTO, Active Records, закон Деметры) - По книге Р. Мартина "Чистый код"
Автор: Глазами фрилансера
Загружено: 2023-01-19
Просмотров: 9384
Описание:
Не всё, что называется классом, описывает объекты. Очень часто класс содержит описание структур данных, которые предполагают простую процедурную обработку, а не полноценное объектно-ориентированное программирование. Ни один из этих двух подходов - ООП или процедурное программирование - не идеален.
Как правильное использование структур данных и объектов позволяет соблюдать SOLID-принципы? Что описывает закон Деметры? Что такое DTO (Data Transfer Object) и чем Active Records от DTO отличаются? Обо всём этом поговорим в ролике, посвящённом 6-ой главе книги Роберта Мартина "Чистый код". Как всегда - с примерами на PHP, с пояснениями о Laravel, Eloquent ORM и так далее.
Содержание ролика "Объекты и структуры данных (DTO, Active Records, закон Деметры) - По книге Р. Мартина "Чистый код"":
00:00 Начинаем обсуждение чистоты кода с точки зрения его поддерживаемости. Сегодня делаем упор на принцип открытости к расширению из набора SOLID.
01:40 В чём отличие объектов от структур данных?
03:20 Примеры структур данных "геометрические фигуры" и их процедурная обработка классом Geometry.
07:20 Расширяемость поведения при работе со структурами данных.
10:25 Проблема добавления новых типов данных ("геометрических фигур") при таком подходе.
11:45 Превращаем структуры данных в объекты, обладающие собственным поведением. Получаем обратное состояние: легко наращивать количество фигур, сложно расширять их поведение.
14:35 Таким образом, оба подхода (объектно-ориентированный и процедурный, со структурами данных) - не идеальны.
15:28 Сокрытие внутренней структуры класса от внешних клиентов.
17:45 Закон Деметры: снижение связности объектов в системе.
24:15 Практические выводы из различия между объектами и структурами данных.
25:10 Что такое DTO (Data Transfer Object)? Библиотеки data-transfer-object и laravel-data от Spatie.
28:40 Почему наши фреймворки устроены именно таким образом?
30:37 Active Records как особый вид DTO (Data Transfer Object).
32:00 Заключение.
Получать анонсы новых видео можно на нашем телеграм-канале "Глазами фрилансера": https://t.me/freelancer_eyes
#ГлазамиФрилансера #ЧистыйКод #PHP
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: