Service
Service recipe is the default backend recipe provided by Baked which includes necessary layers and feature implementations for any backend application.
To create an application from this recipe, use Service()
extension of Bake
class directly in Program.cs
.
Bake.New
.Service(
business: c => c.DomainAssemblies([...])
)
.Run();
Layers
Name | Run | Test |
---|---|---|
Code Generation | ✅ | ✅ |
Data Access | ✅ | ✅ |
Domain | ✅ | ✅ |
HTTP Client | ✅ | ⛔ |
HTTP Server | ✅ | ⛔ |
Rest API | ✅ | ⛔ |
Runtime | ✅ | ✅ |
Testing | ⛔ | ✅ |
Features
Name | Run | Test |
---|---|---|
Authentication(s) | ✅ | ⛔ |
Fixed Bearer Token | ||
Authorization | ✅ Claim Based | ⛔ |
Business | ✅ (No Default) | ✅ |
Caching | ✅ Scoped Memory | ✅ |
Coding Style(s) | ✅ | ✅ |
Add/Remove Child | ||
Command Pattern | ||
Entity Extension via Composition | ||
Entity Subclass via Composition | ||
Namespace as Route | ||
Object as JSON | ||
Records are DTOs | ||
Remaining Services are Singleton | ||
Rich Entity | ||
Rich Transient | ||
Scoped by Suffix | ||
Single by Unique | ||
Uri Return is Redirect | ||
Use Built-in Types | ||
Use Nullable Types | ||
With Method | ||
Communication | ✅ HTTP | ✅ Mock |
Core | ✅ Dotnet | ✅ Mock |
Cors | ✅ Disabled | ⛔ |
Database | ✅ Sqlite | ✅ In Memory |
Exception Handling | ✅ Problem Details | ✅ |
Greeting | ✅ Swagger | ⛔ |
Lifetime(s) | ✅ | ✅ |
Singleton | ||
Scoped | ||
Transient | ||
Logging | ✅ Request | ⛔ |
Mocking Overrider | ⛔ | ✅ First Interface |
ORM | ✅ Auto Map | ✅ |
When Test column have ✅ without a note, this means it inherits whatever Run column denotes.