Рубрика: ООП
ООП на простых примерах
Объектно-Ориентированное Программирование
представляет собой Объекты и Классы
ООП построено на трёх основных концепциях
- инкапсуляция
- наследование
- полиморфизм
Три принципа ООП
— инкапсуляция
не даём другим объектам изменять внутреннее состояние объекта
когда внутренне состояние объекта может изменяться только им самим
— состояние объекта — назначены определенные значения полям, свойствам.
— get и set необходимы для защиты на валидность данных (в функции всегда можно проверить тип)
— наследование
животными являются кошки, рыбы, змеи и они все дышат
— полиморфизм
животные по разному дышат и поэтому у животных Мы вызываем одинаковый метод но с разной реализацией (кошки дышат лёгкими, рыбы жабрами, змеи кожей).
1. Single responsibility principle
Принцип единой ответственности
один класс должен решать одну задачу
ПРИМЕР класс Пользователь
1. Single responsibility principle
Принцип единой ответственности
один класс должен решать одну задачу
применимо сущность решает одну задачу
у каждого класса одна зона ответственности
мы все декомпозируем на модули
- к классу
- к функциональному программированию
- к фронтенду
- к компонентам
не должны одновременно (антипаттерн или God object)
- у которого миллион обязанностей
- много связанного кода
- что-то ломается одно, то что-то ломается другое
- много строк в коде класса
- дорого вносить изменения в большой класс
Вынести классы по определенной задаче для сущности
+ мы не ковыряемся в одной сущности
мы идем в конкретный модуль и решаем конкретную локальную задачу
— мы разделили модель данных (класс объекты, которые содержат какое-то состояние)
— мы разделили поведение (каждый класс отвечает за какую-то конкретную операцию)
— мы можем расспалерить задачи (дать работать разработчикам)
- логировать что-то
- записывать что-то
- отправлять что-то
- выводить что-то
ООП S.O.L.I.D «понятие»
5 принципов
принципы подразумевают правила, ограничения, набор каких-то действий
— помогают разработчикам разговаривать на одном языке
вхождение в новый проект другой организации затратен по времени
свои принципы, правила, каждый пишет как хочет
идеальный мир, в котором проектные знания сводится к минимуму
— фреймворки задают базовую структуру
— подходы solid позволяют писать в примерно похожем стиле
— парадигмы ООП, функциональное программирование
— паттерны
проект
- масштабируемость проекта
- легкое вхождение в понятие кода (solid,паттерны,фреймворки)
- код должен быть простым
— разрабатывать поддерживаемые, масштабируемые приложения
В Laravel Route с примерами представляют простейшие маршруты принимают URI (путь) и функцию-замыкание, предоставляя очень простой и выразительный метод определения маршрутор.
Все маршруты определены в файлах маршрутов, которые расположены в каталоге routes. Эти файлы автоматически загружаются фреймворком.
В файле routes/web.php определены маршруты для вашего web-интерфейса. Эти маршруты входят в группу посредников web, которые обеспечивают такие возможности, как состояние сессии и CSRF-защита. Маршруты из файла routes/api.php не поддерживают состояния и входят в группу посредников api.
Для большинства приложений сначала определяются маршруты в файле routes/web.php.
Синтаксис Laravel Route
$uri
хост\api\путь
$callback
роут вызывает колбэк-функцию или обратный вызов
функция, переданная в другую функцию в качестве аргумента, которая затем вызывается по завершению какого-либо действия.
routes\api.php
get роут получает информацию от сервера
Route::get($uri, $callback);
post роут отправляет информацию на сервер для хранения
Route::post($uri, $callback);