<? phpukraine PHP-ПЛАТФОРМА
⌕Пошук по платформі
АРХІТЕКТУРА

Патерни й архітектура на прикладах з PHP

Як влаштований код, з яким ви працюєте щодня, і як писати такий самий. Кожен приклад запускається просто тут.

ДЕ Я ЦЕ БАЧИВ

Виберіть фреймворк, і карта з каталогом покажуть, чим ви вже користуєтесь.

КАРТА АРХІТЕКТУРИ патернконцепція
ІНТЕРФЕЙСконтролери, команди, чергиЗАСТОСУНОКсценаріїДОМЕНсутності, правилаІНФРАСТРУКТУРАбаза, пошта, сторонні APIЛанцюжок обовʼязківКомандаСервісний шарКонвеєрСпостерігачСтратегіяValue ObjectАгрегатФабричний методДоменні подіїРепозиторійАдаптерДекораторБудівельник
ІНТЕРФЕЙСконтролери, команди, чергиЗАСТОСУНОКсценаріїДОМЕНсутності, правилаІНФРАСТРУКТУРАбаза, пошта, сторонні APIЛанцюжок обовʼязківКомандаСервісний шарКонвеєрСпостерігачСтратегіяValue ObjectАгрегатФабричний методДоменні подіїРепозиторійАдаптерДекораторБудівельник
Наведіть на фішку, щоб побачити суть. Клік відкриває сторінку. Карта показує, на якому шарі зазвичай працює кожен патерн. Повний список нижче.
МОВА ДІАГРАМ Абстракція Ключовий учасник Клієнт Інфраструктура Домен
01 — ПАТЕРНИ

Каталог патернів

13 розібрано

Породжувальні

Creational · 2

Як створювати обʼєкти так, щоб код не залежав від конкретних класів.

Структурні

Structural · 3

Як складати обʼєкти й класи в більші структури.

Поведінкові

Behavioral · 5

Як обʼєкти розподіляють обовʼязки й спілкуються.

Патерни застосунку

Application · 3

Не з книжки GoF, але трапляються в кожному PHP-проєкті.

02 — МАРШРУТ

Від простого до складного

Десять кроків від «де живе логіка» до надійної доставки подій. Кожен наступний спирається на попередній.

10 з 10 вже є
  1. 1
    КРОК 1MVC і де живе логікачому контролер на 400 рядків
  2. 2
    КРОК 2Шариінтерфейс, застосунок, домен, інфраструктура
  3. 3
    КРОК 3Value Objectгроші, email, період як значення
  4. 4
    КРОК 4Сутність і агрегатмежа, корінь, інваріант
  5. 5
    КРОК 5Доменні подіїщо сталося в домені
  6. 6
    КРОК 6Bounded contextsодне слово, різні значення
  7. 7
    КРОК 7Hexagonalпорти й адаптери
  8. 8
    КРОК 8Модульний монолітмодулі з чіткими межами в одному репо
  9. 9
    КРОК 9CQRSокремо читати й писати
  10. 10
    КРОК 10Outboxнадійна доставка подій
  1. 1
    АРХІТЕКТУРАШари і де живе логікаінтерфейс, застосунок, домен, інфраструктура
  2. 2
    ТЕСТУВАННЯПерший unit-тест доменутест без бази й фреймворку
  3. 3
    АРХІТЕКТУРАValue Objectгроші, email, період як значення
  4. 4
    ТЕСТУВАННЯTest doublesdummy, stub, spy, mock, fake
  5. 5
    АРХІТЕКТУРАHexagonalпорти й адаптери
  6. 6
    ТЕСТУВАННЯФейки адаптерівin-memory замість бази й API
  7. 7
    ТЕСТУВАННЯАрхітектурні тестидомен не імпортує Laravel
  8. 8
    ТЕСТУВАННЯPHPStan і рівнівід нуля до десяти
  9. 9
    АРХІТЕКТУРАМодульний монолітмодулі з чіткими межами в одному репо
// ЯК ЦЕ ВЛАШТОВАНО В PHP UKRAINE

Цей сайт сам є модульним монолітом з DDD

Контексти Hiring, Content, Projects і Analytics живуть в одному репозиторії, і домен кожного не знає про Laravel: це перевіряють архітектурні тести. Відгук на вакансію, який ви надсилаєте, є агрегатом у контексті Hiring.

HIRINGвакансії, відгуки, компаніїCONTENTстатті, питання, порадиPROJECTSпроєкти, внескиANALYTICSметрики, воронкиSHAREDUserId · Money · Clock · EventBusApplicationSubmittedArticlePublishedProjectPublishedVacancyApplicationCompanyArticleQuestionTipProjectContributionMetricFunnelReport
ДОРОЖНЯ КАРТА · MIDDLE → SENIOR Вузол «Межі й архітектура» на дорожній карті веде сюди, а питання зі співбесід ви знайдете в блоці «Перевір себе» на кожній сторінці. →