Exemplo em C# de arquitetura em camadas seguindo a ideia de "Clean Architecture": https://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
Esse tipo de arquitetura desacopla o core do software de detalhes técnicos de frameworks e bancos de dados, permitindo testabilidade e melhor flexibilidade. É o padrão de arquitetura fornecido como referência no DDD (Domain-Driven Design), tratando o domínio como a parte central da mesma.
Atualizarei esse projeto com ideias diversas para implementação da arquitetura proposta. Sempre que sair algo novo, divulgarei por meio das redes sociais ou publicarei algum artigo relacionado em meu blog.
Este não é um modelo "one-size-fits-all" de arquitetura. Existem inúmeras formas de se resolver os mesmos problemas (como atender requisitos não-funcionais e trafegar dados entre camadas). O que é comum entre todas elas são as boas práticas e princípios que estarão demonstrados no código deste projeto. Decisões arquiteturais dependem de inúmeros fatores como o tipo de problema a se resolver, perfil técnico do time, restrições de prazo e custo, etc.