Latest Articles


A recent discussion on the devBetter.com private server spurred this article. One of the members was trying to work out a fairly complex design involving many different parts, and the idea of trying to model all of this as a set of database tables with primary key and foreign key relationships was daunting. The sheer number of many-to-many and one-to-many relationships along with recursive and…

Keep Reading →


Two terms that come up frequently when discussing software development in .NET and C# are DTO and POCO. Some developers use these terms interchangeably. So, what is the difference between a DTO and a POCO? First, let's define each term. Data Transfer Object (DTO) A DTO is a "Data Transfer Object". It's an object whose purpose is to transfer data. By definition, a DTO should only contain data, not…

Keep Reading →


Today as I was writing functional tests for API endpoints again I created some helpers to assist with the boilerplate code involved in such tests. When you're testing an API endpoint, you typically need to write code that looks like this: Create data to send in request (optional) Make an HTTP request to a route/URL Verify the response is successful Capture the response as a string Convert the…

Keep Reading →


There's virtually no difference, physiologically, between the sensations and symptoms of fear and excitement. But there is a big difference in how we react based on these feelings. If you find yourself living in fear of something, but rationally you recognize that the fear isn't justified, it may help you to try and reshape that feeling into something else, like excitement. Fear Almost all humans…

Keep Reading →


I've been programming web applications using the MVC pattern for a very long time. What's more, I've been helping companies dig themselves out of technical debt for an even longer time, and I work with a wide variety of teams every year. So, I've seen things. And while I would absolutely never want to return to the old Web Forms way of building apps, I can tell you that more often than not, MVC…

Keep Reading →


Time for a recap of stats and important (and not so important) milestones from 2020, the year of the COVID-19 pandemic. Here are some other year-in-review recaps for reference and a checklist for writing your own: My 2017 Year in Review My 2018 Year in Review My 2019 Year in Review My Year in Review Post Checklist Blogging Last year I added 41 articles to my blog - the same as the year before…

Keep Reading →


There is some debate about whether the movie Die Hard (1988) should be categorized as a Christmas movie. On the one side are those who point to its central Christmas theme, music, and messaging, all of which add to and in many instances are critical to its plot and theme. On the other side are those who are wrong. Here are a number of reasons why Die Hard most certainly should be considered a…

Keep Reading →


A common feature of distributed architectures is message-based communication between systems or microservices. Whether using a message bus or queue, messages provide a means of reducing coupling between systems, allowing overall systems to remain available even when some subsystems are not. However, when designing the messages that will be used in such systems, care must be taken to include…

Keep Reading →


EF and EF Core DbContext types implement . As such, best practice programming suggests that you should wrap them in a block (or new C# 8 using statement). Unfortunately, doing this, at least in web apps, is generally a bad idea. I work with a lot of clients who are migrating from .NET Framework to .NET Core and .NET 5. Some of them weren't using dependency injection in their legacy apps, or weren…

Keep Reading →


Little's Law was first described in 1954 and later proved by John Little in 1961. It is typically expressed as: L = λW L represents the "long term average" number of customers in a stationary system λ represents the "long term average effective arrival rate" of new customers W represents the average time a customer spends in the system It's important to recognize that Little's Law is used in the…

Keep Reading →


Ardalis

Copyright © 2021