Этот вопрос слишком широкий, чтобы на него можно было разумно ответить. В общем, чистая архитектура - это разделение слоев и инкапсуляция. ASP. NET Ядро в целом способствует развитию этого типа благодаря поддержке таких вещей, как шаблон MVC и внедрение зависимостей. Другими словами, в зависимости от сложности приложения, одно ASP. NET ядро само по себе может быть «чистой архитектурой». Оттуда действительно зависит то, какие компоненты можно использовать повторно, и поэтому их следует использовать. Например, если у вас будет и веб-интерфейс, и мобильное приложение, было бы естественно разделить такие вещи, как ваш DAL / бизнес-уровень, на отдельные проекты.
При этом вы идете об этом с ног на голову и назад. Сосредоточьтесь на своем приложении, а не на шаблонах. Шаблоны существуют для решения проблем по мере их возникновения . Попытка вставить какой-то шаблон в ваше приложение с самого начала - это рецепт хрупкого и сложного в обслуживании кода. Начните с самого простого функционального блока и постройте его, затем добавьте следующий. По мере добавления новых элементов вы начнете видеть возможности улучшения, повторного использования, абстракции и т. Д. c. Только тогда вы должны начать рефакторинг своего кода и работать в различных шаблонах в зависимости от ситуации .