Porto: Containers [ Слой Контейнеров ] ► Архитектурный шаблон Порто №3

Опубликовано: 01 Январь 1970
на канале: Dmitry Afanasyev
4,787
313

Обзор слоя Контейнеров (Containers) архитектурного шаблона проектирования - Порто (Porto).
*
Слой Контейнера == Код высокого уровня
Цели слоя Контейнера
► Отделить задачи друг от друга
► Разбить крупные задачи на более мелкие подзадачи
► Определить правила оформления бизнес-логики (Компоненты)
*
►►►Что такое контейнер? Что можно выделить в отдельный контейнер?
Точного определения что такое Контейнер - нет. Но мы попытаемся его выделить.
Контейнер - это совокупность классов объединенных вместе для решения одной задачи и предоставляет доступ с помощью одного или более интерфейсов: Web (страница на сайте), API, CLI (командная строка).
Чаще всего ядром контейнера служит Модель (или так называемые Value Object, DTO и тп)
Контейнер обеспечивает реализацию задачи и предоставляет доступ с помощью одного или более интерфейсов: Web (страница на сайте), API, CLI (командная строка).
Если в приложении есть сущность у которой есть свои маршруты, контроллеры, модели и тп. То можно выделить эту сущность в отдельный контейнер.
*
►►► Размеры контейнера:
► Минимальный - обслуживание одной модели.
► Средний - обслуживание нескольких связанных друг с другом моделей когда использование их по отдельности не имеет смысла.
► Максимальный размер контейнера - весь проект.
Например в приложении Блог, статью блога (BlogPost) можно выделить в отдельный контейнер.
Рекомендуется чтобы в одном контейнере была одна модель (не обязательно).
*
►►► Взаимодействия контейнеров
► Контейнер может зависеть от одного и более других контейнеров
► Контейнер может вызывать задачи (Tasks) других контейнеров
► Модель одного контейнера может иметь связь с моделью другого контейнера
► Возможны иные формы связи, например - прослушивание событий запускаемых другими контейнерами
*
#MahmoudZalt #porto #ddd #порто #Containers #Ship #слой_корабля #laracasts

*
Полезные ссылки:
► Порто (Porto): https://github.com/Mahmoudz/Porto
► Апиато (Apiato): http://apiato.io
► Автор Порто [ Mahmoud Zalt ]: http://zalt.me
►   / 1347260555069894667  
► Плейлист курса: https://clck.ru/SGecU
*
★ Автор видео: Дмитрий Афанасьев.
★ Канал: https://clck.ru/JVYct
*
► Выразить благодарность, поддержать донатом развитие канала.
★ https://www.tinkoff.ru/rm/afanasev.dm...
★ https://www.donationalerts.ru/r/dmitr...
*
► Еще интересные курсы:
★ PHP для начинающих: https://clck.ru/PJK3i
★ Видеокурс "Эксперт PHP": https://clck.ru/PJJwZ
★ Видеокурс по Laravel: https://clck.ru/JVYa2
★ Видеокурс по Git: https://clck.ru/JVYYm
★ Объяснение SOLID: https://clck.ru/JVYXq
★ Шаблоны проектирования: https://clck.ru/JVYX7
★★★ Все курсы → https://clck.ru/JVYVd


Смотрите видео Porto: Containers [ Слой Контейнеров ] ► Архитектурный шаблон Порто №3 онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Dmitry Afanasyev 01 Январь 1970, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 4,78 раз и оно понравилось 31 людям.