DDD

Бизнес-правила

Бизнес-правила — это правила, делающие или экономящие деньги независимо от наличия или отсутствия их реализации на компьютере. Они делают или экономят деньги, даже когда выполняются вручную.

Роберт Мартин

Entities (Сущности)

Use cases (Варианты использования)

Архитектура должна возводить варианты использования, особенности и ожидаемые реакции системы до уровня полноценных сущностей, которые послужат видимыми ориентирами для разработчиков. Это упростит понимание системы и, соответственно, окажет значительную помощь в разработке и сопровождении.

Роберт Мартин

Active Record vs Repository

Repository

Детали

Главный критерий

Хорошая архитектура помогает отложить решение о выборе деталей: фреймворков, баз данных, веб-серверов и других инструментов и элементов окружения.

Роберт Мартин

Принцип ацикличности зависимостей

Возможно вам уже приходилось задаваться вопросом, почему для простого модульного тестирования одного из классов приходится подключать так много библиотек и всякой другой всячины. Если бы вы копнули глубже, то наверняка бы обнаружили циклы в графе зависимостей.

Небходимо управлять структурой зависимостей компонентов.

Циклы в графе зависимостей компонентов недопустимы.

Роберт Мартин

Структура компонентов не может проектироваться сверху вниз. К этому выводу приходят не сразу, как только начинают проектировать систему, но это неизбежно случается с ростом и изменением системы.

Роберт Мартин