Clean Architecture (edit)
Clean Architecture with ASP.NET Core 6.0
https://github.com/fullstackhero/dotnet-webapi-boilerplate
https://github.com/jasontaylordev/CleanArchitecture
https://github.com/ardalis/CleanArchitecture
https://www.eginnovations.com/blog/top-7-net-application-performance-problems/
Clean Architecture with .NET Core & React+Redux
https://github.com/ivanpaulovich/clean-architecture-manga
https://github.com/trungcaot/MsCoreOne
https://github.com/AnkitSharma-007/CRUD.ASPCore.Reactjs.WebAPI.EF
https://github.com/aliakseiherman/eixample
.NET Core + Oracle Database
https://www.taithienbo.com/connect-to-oracle-database-from-net-core-application/
https://www.talkingdotnet.com/create-net-core-application-using-entity-framework-core-with-oracle/
Videos
Clean Architecture with .NET Core: Getting Started – Jason Taylor
Clean Architecture with ASP.NET Core 3.0 - Jason Taylor - NDC Sydney 2019 - YouTube
- Clean Architecture
- Core:
- Domain layer
- Application layer
- Infrastructure
- WebUI
- Tests
- Core:
- Onion Architecture
- ASP.NET Core + EF Core
- Authors:
- Jason Taylor: jasontaylordev (Jason Taylor) · GitHub
- Steve Smith (@ardalis): ardalis (Steve Smith) · GitHub
Domain
This will contain all entities, enums, exceptions, interfaces, types and logic specific to the domain layer.
Application
This layer contains all application logic. It is dependent on the domain layer, but has no dependencies on any other layer or project. This layer defines interfaces that are implemented by outside layers. For example, if the application need to access a notification service, a new interface would be added to application and an implementation would be created within infrastructure.
Infrastructure
This layer contains classes for accessing external resources such as file systems, web services, smtp, and so on. These classes should be based on interfaces defined within the application layer.
WebUI
This layer is a single page application based on Angular 10 and ASP.NET Core 5. This layer depends on both the Application and Infrastructure layers, however, the dependency on Infrastructure is only to support dependency injection. Therefore only Startup.cs should reference Infrastructure.
Technologies
Aside from .NET Core, numerous technologies are used within this solution including:
- CQRS with MediatR
- Validation with FluentValidation
- Object-Object Mapping with AutoMapper
- Data access with Entity Framework Core
- Web API using ASP.NET Core
- UI using Angular 8
- Open API with NSwag
- Security using ASP.NET Core Identity + IdentityServer
- Automated testing with xUnit.net, Moq, and Shouldly
DevIQ:
Single Responsibility Principle | DevIQ
Builder Design Pattern | DevIQ
Adapter Design Pattern | DevIQ
Jason Taylor:
Jason Taylor – Solution Architect
JASON TAYLOR
Hi, I’m Jason. I write this blog, speak at events, and train technology professionals. I’m an SSW Solution Architect and I specialise in teaching and building enterprise applications with ASP.NET Core, EF Core, and Angular
Steve Smith:
GitHub - ardalis/CleanArchitecture: A starting point for Clean Architecture with ASP.NET Core
GitHub - ardalis/GuardClauses: A simple package with guard clause extensions.
About the Talk: ASP.NET Core provides better support for clean, testable, maintainable architectures than any of its predecessors. Learn the underlying principles that apply to project/solution organization, how best to arrange your projects to support clean code, and how to refactor existing solutions toward this architecture. Examples will use ASP.NET Core but the principles covered apply to all languages and platforms.
About the Speaker: Steve Smith (@ardalis) is an entrepreneur and software developer with a passion for building quality software as effectively as possible. Steve has published several courses on Pluralsight, covering DDD, SOLID, design patterns, and software architecture. He’s a Microsoft ASP.NET MVP and Insider, a frequent speaker at developer conferences, an author, and a trainer. Steve works with companies that want to avoid the trap of technical debt by helping their teams deliver quality software, quickly. Steve and his team have been described by clients as a “force multiplier”, amplifying the value of existing development teams. Steve’s client list includes Microsoft, Quicken Loans, Celina Insurance, and many other satisfied customers.
Shivendra Odean
Software Architecture — The Onion Architecture | by Shivendra Odean | Medium