<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf" -->

---
title: What is Clean Architecture? | daily.dev
description: Clean Architecture promotes the idea of modular, testable, and maintainable code. It emphasizes separating concerns and defining clear boundaries between...
canonical: https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: What is Clean Architecture? | daily.dev
og:description: Clean Architecture promotes the idea of modular, testable, and maintainable code. It emphasizes separating concerns and defining clear boundaries between...
og:url: https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf
og:image: https://api.daily.dev/og/posts/mThVg6ykF.png
og:image:alt: What is Clean Architecture?
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# What is Clean Architecture?

**[Tech World With Milan](https://daily.dev/sources/techworld-with-milan)** · 6 min read · 850 upvotes · 9 comments

## Summary

Clean Architecture promotes the idea of modular, testable, and maintainable code. It emphasizes separating concerns and defining clear boundaries between system components. Clean Architecture is suitable for complex or long-lived applications, projects with a central domain model, and teams that prioritize clean code practices.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://newsletter.techworld-with-milan.com/p/what-is-clean-architecture>

## Community discussion

Top comments from developers on daily.dev.

**@mattybilly** · 13 upvotes

> Ritesh does a great job of breaking down something called an "onion architecture" in this article: https://medium.com/expedia-group-tech/onion-architecture-deed8a554423
>
> The clean architecture Dr. Milan writes about appears (from my quick scan) to have very similar goals to the onion architecture.

**@axff** · 11 upvotes

> I much prefer the vertical slice architecture, more scalable and easier to understand.

**@zhanglun** · 5 upvotes

> ![image](https://res.cloudinary.com/daily-now/image/upload/s--8zXG89Ir--/f_auto/v1717484873/ugc/content_2cd8f6da-5a9f-434a-b044-d546cf7ae2e8)
>
>
> lmao :D:D:D

**@haerteldev** · 3 upvotes

> Great post. If you are working with NextJS, they provide project organization examples: https://nextjs.org/docs/app/building-your-application/routing/colocation#project-organization-strategies

**@mbastakis** · 3 upvotes

> A lot of useful info. Don't skip the links on the bottom. I bookmarked most of them :P

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#domain-driven-design](https://daily.dev/tags/domain-driven-design), [#general-programming](https://daily.dev/tags/general-programming)

[View this post on daily.dev](https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"What is Clean Architecture?","url":"https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf"},"datePublished":"2024-05-09T15:07:46.433Z","dateModified":"2026-03-15T07:25:26.732Z","description":"Clean Architecture promotes the idea of modular, testable, and maintainable code. It emphasizes separating concerns and defining clear boundaries between...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9ab57b69da1fbc4134d7ded93d97f248?_a=AQAEuiZ","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9ab57b69da1fbc4134d7ded93d97f248?_a=AQAEuiZ","isAccessibleForFree":true,"articleSection":"Tech World With Milan","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Tech World With Milan","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/737f436491ef436dba1bbab9052e4a04","url":"https://daily.dev/sources/techworld-with-milan"},"commentCount":9,"discussionUrl":"https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":850},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":9}],"keywords":"architecture,domain-driven-design,general-programming","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tech World With Milan","item":"https://daily.dev/sources/techworld-with-milan"},{"@type":"ListItem","position":3,"name":"What is Clean Architecture?"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf","comment":[{"@type":"Comment","text":"Ritesh does a great job of breaking down something called an “onion architecture” in this article: https://medium.com/expedia-group-tech/onion-architecture-deed8a554423\nThe clean architecture Dr. Milan writes about appears (from my quick scan) to have very similar goals to the onion architecture.","datePublished":"2024-05-09T15:47:49.478Z","url":"https://daily.dev/posts/mThVg6ykF#c-nLnfCHl6e","author":{"@type":"Person","name":"Matt","url":"https://daily.dev/mattybilly","image":"https://lh3.googleusercontent.com/a/ACg8ocKpfkeNYEYvY717n_imoekLDxdYskvgQrGF42j66OLwyXJDkQ=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":13}},{"@type":"Comment","text":"I much prefer the vertical slice architecture, more scalable and easier to understand.","datePublished":"2024-05-09T15:57:39.534Z","url":"https://daily.dev/posts/mThVg6ykF#c-92zMymzkb","author":{"@type":"Person","name":"André","url":"https://daily.dev/axff","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":11}},{"@type":"Comment","text":"lmao :D:D:D","datePublished":"2024-06-04T07:10:16.844Z","url":"https://daily.dev/posts/mThVg6ykF#c-x20LjJK0u","author":{"@type":"Person","name":"zhanglun","url":"https://daily.dev/zhanglun","image":"https://avatars.githubusercontent.com/u/3086358?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5}},{"@type":"Comment","text":"Great post. If you are working with NextJS, they provide project organization examples: https://nextjs.org/docs/app/building-your-application/routing/colocation#project-organization-strategies","datePublished":"2024-05-11T13:52:03.304Z","url":"https://daily.dev/posts/mThVg6ykF#c-9biRCBTdQ","author":{"@type":"Person","name":"Alan","url":"https://daily.dev/haerteldev","image":"https://avatars.githubusercontent.com/u/142280886?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}},{"@type":"Comment","text":"A lot of useful info. Don’t skip the links on the bottom. I bookmarked most of them :P","datePublished":"2024-05-09T22:46:00.429Z","url":"https://daily.dev/posts/mThVg6ykF#c-Rr3RCPuJJ","author":{"@type":"Person","name":"Mike Bastakis","url":"https://daily.dev/mbastakis","image":"https://lh3.googleusercontent.com/a/ACg8ocJVMEk8GlahCi4K9tjlgs7UA9D6Nb-Gu3Fj861TTiwEokVruWrE=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}}]}
```

