Что такое ядро приложения
Ядро приложения — это часть кода, инкапсулирующая всю бизнес-логику компонента.
Ядро приложения (Application Core) — это участок кода, который содержит всю бизнес-логику в рамках решаемой подзадачи. В нашей терминологии правильнее было бы говорить о ядре компонента, а не приложения, поскольку приложение может состоять из нескольких компонентов, а единого ядра у нескольких компонентов быть не может. Тем не менее термин является устоявшимся, и мы будем пользоваться именно им.
Ядро приложения состоит из доменной модели и сервисов, организующих взаимодействие между её элементами, и может быть разбито на слои. Гексагональная и трёхзвенная содержат один слой, содержащий и модель, и сервисы; классическая DDD-архитектура делит ядро на доменный слой (мы называем его слоем доменной модели) и слой приложения; чистая архитектура проводит тот же раздел, но называет получившиеся слои слоем сущностей и слоем интеракторов; луковая архитектура делит ядро на три слоя, один из которых отведён модели, а два других — разным категориям сервисов.
На суть ядра можно взглянуть ещё и с точки зрения тестирования. Вся бизнес-логика компонента заключена в ядре, поэтому тестов самого ядра достаточно, чтобы проверить её целиком.