Skip to content

docs(repository): разделить контракт и реализацию, связать с исключениями - #77

Merged
prikotov merged 4 commits into
masterfrom
task/docs-repository-split
Jul 25, 2026
Merged

docs(repository): разделить контракт и реализацию, связать с исключениями#77
prikotov merged 4 commits into
masterfrom
task/docs-repository-split

Conversation

@prikotov

Copy link
Copy Markdown
Owner

Что сделано

Реструктуризация репозиторной документации: разделение контракта (Domain) и реализации (Infrastructure) + связывание с конвенцией исключений.

Изменения

  • Перенос In-memory секции из domain/repository.md в infrastructure/repository.md — класс InMemoryServiceStatusRepository лежит в Infrastructure-неймспейсе, это реализация, а не контракт.
  • Перенос example-файла InMemoryServiceStatusRepository.php из layers/domain/examples/ в layers/infrastructure/examples/ (git mv).
  • Удалены дубликаты строк в domain/repository.md.
  • Починена ссылка на Criteria (вела в criteria-mapper.md под текстом criteria.md → теперь на доменный контракт).
  • Добавлена обратная ссылка Infrastructure → Domain через блок «См. также» (связь была односторонней).
  • Добавлен метод save() в пример ProjectRepository (соответствует контракту, делает persist() без flush()).
  • Добавлены заголовки интерфейсов NotFoundExceptionInterface и InfrastructureExceptionInterface в exception.md (раньше только конкретные классы).
  • Первые упоминания исключений в репозиторных поках оформлены ссылками на exception.md.

Проверка

  • composer validate-docs
  • composer validate-md-links ✓ (якоря резолвятся)
  • composer check → No errors

prikotov added 4 commits July 25, 2026 23:08
…иями

- In-memory реализация перенесена из domain/repository.md в infrastructure/repository.md (класс в Infrastructure-неймспейсе)
- Example InMemoryServiceStatusRepository.php перенесён в layers/infrastructure/examples/
- Удалены дублирующие строки и починена ссылка на Criteria в domain/repository.md
- Добавлена обратная ссылка Infrastructure→Domain и метод save() в пример ProjectRepository
- В exception.md добавлены заголовки NotFoundExceptionInterface и InfrastructureExceptionInterface
- Первые упоминания исключений в репозиторных поках оформлены ссылками на exception.md
- Убраны разрозненные заголовки NotFoundExceptionInterface/InfrastructureExceptionInterface из «Категории»
- Добавлена секция «Маркерные интерфейсы» с таблицей соответствия класс → интерфейс
- Ссылки из domain/repository.md переведены на якорь новой секции
Слово не используется в конвенциях и неточно (маркерный интерфейс — пустой тег);
секция переименована в «Интерфейсы исключений», якорь и ссылки обновлены.
В конвенциях внутренние кросс-док ссылки даются без фрагмента
([CriteriaMapper](criteria-mapper.md) и т.д.); ссылки на exception.md
теперь ведут на документ целиком, а не на якорь секции.
@prikotov
prikotov merged commit 6f626b3 into master Jul 25, 2026
3 checks passed
@prikotov
prikotov deleted the task/docs-repository-split branch July 25, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant