Архитектура как мышление

Как я перестал писать код и начал проектировать смысл

Когда ты пишешь код достаточно долго, в какой-то момент перестаёшь интересоваться фреймворками, и начинаешь интересоваться — почему ты пишешь именно так.

Я программист. Пишу на PHP. Много лет. Экспериментирую.
И как у всех — были MVC, DI, EventDispatcher, DDD, REST, GraphQL, всё.
Но однажды я понял: настоящая сила не в паттернах.
А в переосмыслении самого подхода к архитектуре.


Декларация → Компиляция → Исполнение

Каждый модуль — это фрактал:
Domain, Application, Infrastructure, ModuleAssembly.

Модуль не "работает". Он просто заявляет, что умеет:

Декларация модуля

Декларация модуля

Когда система говорит:

Ожидание интерфейса

Ожидание интерфейса

Контейнер спрашивает у мира: «Кто умеет это?»
И мир отвечает:

Конфигурация модуля

Конфигурация модуля


Контроллер как декларация

Вот пример реального контроллера. Он ничего не валидирует, не авторизует, не логгирует вручную. Он просто говорит, что нужно сделать:

Пример контроллера

Пример контроллера

Что на самом деле происходит:

— Guard проверяет доступ по IP-группе
— Configurator подключает зависимости
— Route компилируется на старте
— Mapper обрабатывает исключения
— GlobalEvent фиксирует событие

Ты больше не пишешь "что делать".
Ты декларируешь смысл.
А архитектура сама решает, как это выполнить.


Это не просто DI.

Это — реакция. Это смысл. Это мышление.

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

Архитектура как мышление. Это уже началось...

0
дядя Ваня
Автор поста оценил этот комментарий

Ну вот последний скрин:


$this->service->createForm($token);

$this->response = $this->service->getResponse();


Хотите сказать, что результат $this->service->getResponse() вообще не зависит ни от вызова $this->service->createForm($token), ни от значения $token?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Зависит, но это не значит, что я должен в сервисе хранить состояние

показать ответы
0
дядя Ваня
Автор поста оценил этот комментарий

WebFormService выглядит отстойно. Если сервис передаётся в контроллер, а не создаётся в нём, то он должен быть без состояния. Но у Вас он вот точно с состоянием (сначала вызывается метод createForm($token), а потом getResponse()). И это состояние может сыграть злую шутку.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

__construct(private readonly ScopeVariables $scope). В сервисах нет состояния. Практически все сервисы readonly

показать ответы
1
DELETED
Автор поста оценил этот комментарий

Звучит так что Вы пробовали все кроме AOP )))

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ага, я прям целенаправленно не изучал. Говорят, там магии много (неявного выполнения). А хочется, чтобы все вышли из сумрака :)

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества