Architecture approach

Hello

I’m curious of learning how others structure their Umbraco projects from an architecture perspective.

There are many ways to structure solutions depending on project complexity and whether the site is traditional MVC or headless, and I’m curious about the patterns people are actually using in production.

Some questions I’d love to hear thoughts on:

  • What architecture approach do you typically use for Umbraco projects?

  • Have you implemented Clean Architecture, Vertical Slice, or something else?

We have implement simple separation of shared code, vertical slice and clean architecture, where the later was best for testing but also hard to implement since it required knowledge of how it works. The other architecture were easier to adapt.

@gonziii

Great question!! ya It really depends on the project and the team.

my opinions,

For smaller or medium projects, we usually keep it simple separate models, services, and controllers. It’s easy to follow, quick to set up, and makes onboarding new developers much smoother.

For bigger or long-term projects, we’ve tried Clean Architecture. It’s great for testing and keeps Umbraco-specific stuff behind abstractions. The downside is the learning curve -everyone on the team has to understand the layers and stick to them.

Vertical Slice has also been interesting, especially for headless projects. Grouping code by feature instead of technical layer fits nicely with how Umbraco content types are structured, and it makes features easier to develop independently.

In short, the simpler approaches work well for most projects, but Clean Architecture really pays off on bigger projects if your team can handle it.

good luck

/bishal