---
title: "Comment by Fabio Sarmento on \"Step-by-Step Approach to Use Onion Architecture in .NET\" | Hashnode"
description: "In my experience with Onion Architecture, I found that the most challenging aspect was ensuring that communication between layers was purely through interfaces."
url: "https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38/comment/69bbec69305e82785c7bb4e8"
---

[Discussion](https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38)

Comment [Step-by-Step Approach to Use Onion Architecture in .NET](https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38)

[Fabio Sarmento](https://hashnode.com/@sarmento)

[Mar 19](https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38/comment/69bbec69305e82785c7bb4e8)

In my experience with Onion Architecture, I found that the most challenging aspect was ensuring that communication between layers was purely through interfaces. Early in a project, I inadvertently coupled some implementations too closely, which made refactoring later on quite tedious. Adopting a strict interface-driven approach from the start greatly improved the flexibility of the application in the long run.
