Blog Posts

MANY articles on a wide array of topics. You’ll find a lot of my newer content is going to my YouTube channel first, but I do still blog occasionally.

Domain Modeling - Anemic Models

Domain Modeling - Anemic Models

When building a domain model, proper object-oriented design and encapsulation should be applied as much as possible. Some teams choose to intentionally create anemic models with little encapsulation, which can lead to …

Read More →
Commands, Events, Versions, and Owners

Commands, Events, Versions, and Owners

Commands and events are two common types of messages used in distributed application architectures, including microservice designs. Sometimes message formats need to be updated. Which party in the communication is …

Read More →
Aggregate Responsibility Design

Aggregate Responsibility Design

In Domain-Driven Design, Aggregates are groups of objects that are persisted as a unit, with the root object being responsible for ensuring the validity of the entire aggregate. But how should this responsibility …

Read More →
Deploy More Often

Deploy More Often

If you're not already practicing continuous deployment, odds are your team and company would benefit from more frequent deployments.

Read More →
GitHub Diagrams with Mermaid

GitHub Diagrams with Mermaid

It's often useful to include diagrams in GitHub documentation and README files. GitHub now natively supports the Mermaid diagram syntax, and will render the diagrams inline when markdown files include the syntax are …

Read More →
Web API DTO Considerations

Web API DTO Considerations

When designing web APIs, it's important to think about how the data being passed to and from the endpoint will be structured. How important is reuse in these considerations, and how much reuse can you get away with …

Read More →
Guard Clauses and Exceptions or Validation?

Guard Clauses and Exceptions or Validation?

Guard Clauses provide an elegant way to ensure code inputs are valid, typically by throwing exceptions. Validation provides a solution to a similar problem, typically without the use of exceptions. When does it make …

Read More →
Why Use DateTimeOffset

Why Use DateTimeOffset

Using DateTime for entity properties and database fields is ubiquitous, but if you really care about the time portion of the value, it's often ambiguous. What time zone is the date in? Is it stored as UTC? From …

Read More →