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

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

* ► Еще интересные курсы: ★ PHP для начинающих:
★ Видеокурс "Эксперт PHP":
★ Видеокурс по Laravel:
★ Видеокурс по Git:
★ Объяснение SOLID:
★ Шаблоны проектирования:
★★★ Все курсы →

Смотрите также