Об этом проекте

Clean Architecture — это шаблон решения для создания приложений на ASP.NET Core, использующий слабосвязанную архитектуру с инверсией зависимостей, известную также как гексагональная архитектура, архитектура «портов и адаптеров» или луковичная архитектура. Он распространяется как dotnet CLI-шаблон (Ardalis.CleanArchitecture.Template на NuGet), а также может использоваться путём клонирования репозитория GitHub. Шаблон поставляется в двух вариантах: полный шаблон Clean Architecture (clean-arch) и минимальный шаблон Clean Architecture (min-clean), чтобы команды могли выбрать нужный объём структуры на старте. В README приведено сравнение шаблонов и рекомендации по выбору. Решение организовано в виде отдельных проектов: проект Core, проект Use Cases, проект Infrastructure и проект Web, а также тестовые проекты. В README описаны проектные решения и зависимости для каждого из них, включая то, где должно находиться валидирование и как вписывается пакет SharedKernel. Также рассматриваются используемые паттерны, например доменные события. По умолчанию шаблон использует конечные точки API, а не MVC-контроллеры или Razor Pages. В README объясняется, как добавить Ardalis.ApiEndpoints, как добавить контроллеры и как добавить Razor Pages, если предпочтителен другой стиль представления. Также рассматривается запуск миграций базы данных и отмечается, что сайт использует HTTPS с самозаверяющим сертификатом разработчика для localhost, с указанием инструкций по устранению ошибок сертификата в Chrome. Основная ветка нацелена на .NET 9, что соответствует версии пакета NuGet 10.x; предыдущие версии доступны через релизы проекта. Официальная документация, включая шаги по началу работы, руководства по миграции и архитектурные решения, опубликована на отдельном сайте документации; в README рекомендуется изучать руководства по миграции при обновлении со старых версий. В README также есть ссылки на учебные материалы: курс по Clean Architecture, курс по основам DDD, использующий эту архитектуру, записи прямых эфиров и обсуждения в подкастах. Отмечается, что проект получил спонсорскую поддержку от фонда Amazon AWS FOSS, и пользователей приглашают поставить звёздочку репозиторию или стать спонсором.