Abstract the abstraction 🤯.

by Apr 21, 2025

Abstract the abstraction 🤯.

.NET devs, we love our patterns… maybe too much.

For a simple CRUD app, I’ve seen:

  • Repositories – because obviously we can’t query directly, that’s too mainstream
  • UnitOfWork – like transactions, but now with extra ceremony
  • Services – logic lives here… all of it… dumped in one spot
  • DTOs – we copy data from A to B just because we can
  • Mediators – when talking to yourself through a message bus feels better
  • CQRS – because why read and write in one place when you can have two?
  • Specification Pattern – too much for basic queries
  • Generic Repositories – one size fits none
  • Domain Events – when your CRUD thinks it’s Event-Driven
  • Pipeline Behaviors – middleware galore for basic logic
  • Decorators everywhere – layering just to log or retry

All stacked into a beautiful, cursed lasagna 🍝 of abstraction. Been there. Did that. I was proud of it too!

Until I realized…I wasn’t building a rocket ship 🚀. I was just over-architecting a to-do list.

Now?

  • I embrace KISS
  • I chant YAGNI
  • I apply Minimal Viable Architecture

The more senior I got, the simpler my code became.

My secret sauce at the moment? Vertical slice architecture.

Yes, I know—another pattern. But this one lets you keep the whole feature in one place. Simple code with no layers unless you really need them.

It keeps me grounded. Keeps me shipping. Keeps me sane.

Remember: Abstraction is a tool, not a religion. Solve the problem. Create the least friction.

How many layers do you really need in your current project?

#
Remy van Duijkeren

Remy van Duijkeren

Power Platform Advisor

Microsoft Power Platform Advisor with over 25 years of experience in IT with a focus on (marketing) automation and integration.

Helping organizations with scaling their business by automating processes on the Power Platform (Dynamics 365).

Expert in Power Platform, Dynamics 365 (Marketing & Sales) and Azure Integration Services. Giving advice and strategy consultancy.

Services:
– Strategy and tactics advise
– Automating and integrating

Subscribe to
The Daily Friction

A daily newsletter on automation and eliminating friction

Related Content

Cancel Culture in IT

Cancel Culture in IT Cancel Culture is happening in major communities to developers and contributors, like: Linux Kernel C++ Standard Committee Python NixOS openSUSE Godot And the reasons? Completely absurd: Being Republican Liking an old SNL sketch Using the word...

read more

VS Code is NOT an IDE.

VS Code is NOT an IDE. And I like it that way. I use VS Code as a fast text editor. Just a couple of bare-bone plugins. No bloat. No unnecessary features. Just speed. I see people turning VS Code into a full-fledged IDE with tons of extensions. At that point… just use...

read more