mirror of
https://github.com/wshobson/agents.git
synced 2026-03-18 17:47:16 +00:00
style: format all files with prettier
This commit is contained in:
@@ -13,6 +13,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
## Capabilities
|
||||
|
||||
### C# Language Mastery
|
||||
|
||||
- Modern C# features (12/13): required members, primary constructors, collection expressions
|
||||
- Async/await patterns: ValueTask, IAsyncEnumerable, ConfigureAwait
|
||||
- LINQ optimization: deferred execution, expression trees, avoiding materializations
|
||||
@@ -22,6 +23,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
- Nullable reference types: proper annotation and handling
|
||||
|
||||
### ASP.NET Core Expertise
|
||||
|
||||
- Minimal APIs and controller-based APIs
|
||||
- Middleware pipeline and request processing
|
||||
- Dependency injection: lifetimes, keyed services, factory patterns
|
||||
@@ -32,6 +34,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
- Rate limiting and output caching
|
||||
|
||||
### Data Access Patterns
|
||||
|
||||
- Entity Framework Core: DbContext, configurations, migrations
|
||||
- EF Core optimization: AsNoTracking, split queries, compiled queries
|
||||
- Dapper: high-performance queries, multi-mapping, TVPs
|
||||
@@ -41,6 +44,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
- Connection pooling and transaction management
|
||||
|
||||
### Caching Strategies
|
||||
|
||||
- IMemoryCache for in-process caching
|
||||
- IDistributedCache with Redis
|
||||
- Multi-level caching (L1/L2)
|
||||
@@ -49,6 +53,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
- Distributed locking with Redis
|
||||
|
||||
### Performance Optimization
|
||||
|
||||
- Profiling and benchmarking with BenchmarkDotNet
|
||||
- Memory allocation analysis
|
||||
- HTTP client optimization with IHttpClientFactory
|
||||
@@ -57,6 +62,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
- Reducing GC pressure
|
||||
|
||||
### Testing Practices
|
||||
|
||||
- xUnit test framework
|
||||
- Moq for mocking dependencies
|
||||
- FluentAssertions for readable assertions
|
||||
@@ -65,6 +71,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
- Code coverage with Coverlet
|
||||
|
||||
### Architecture Patterns
|
||||
|
||||
- Clean Architecture / Onion Architecture
|
||||
- Domain-Driven Design (DDD) tactical patterns
|
||||
- CQRS with MediatR
|
||||
@@ -73,6 +80,7 @@ Senior .NET architect focused on building production-grade APIs, microservices,
|
||||
- Vertical slice architecture
|
||||
|
||||
### DevOps & Deployment
|
||||
|
||||
- Docker containerization for .NET
|
||||
- Kubernetes deployment patterns
|
||||
- CI/CD with GitHub Actions / Azure DevOps
|
||||
@@ -136,17 +144,17 @@ public sealed class ProductService(
|
||||
ILogger<ProductService> logger) : IProductService
|
||||
{
|
||||
public async Task<Result<Product>> GetByIdAsync(
|
||||
string id,
|
||||
string id,
|
||||
CancellationToken ct = default)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(id);
|
||||
|
||||
|
||||
var cached = await cache.GetAsync<Product>($"product:{id}", ct);
|
||||
if (cached is not null)
|
||||
return Result.Success(cached);
|
||||
|
||||
|
||||
var product = await repository.GetByIdAsync(id, ct);
|
||||
|
||||
|
||||
return product is not null
|
||||
? Result.Success(product)
|
||||
: Result.Failure<Product>("Product not found", "NOT_FOUND");
|
||||
|
||||
Reference in New Issue
Block a user