Understanding Clean Architecture
I would like to express my gratitude to Gill Cleeren, Pluralsight Author, for his excellent course on A...
Some comments have been hidden by the post's author - find out more
For further actions, you may consider blocking this person and/or reporting abuse
There is also hexagon architecture. Maybe you can compere.
I can add one article for reference (sorry for medium)
"Hexagonal Architecture, there are always two sides to every story"
medium.com/ssense-tech/hexagonal-a...
jmgarridopaz.github.io/content/art...
MVVM, Clean architeture is a standard for very large and complex code bases that need a structure. I used when i was a enloyee in a big company. I rember that the barrier was really big for a person who is not a "at his prime" so sometimes scares the people. But is the optimal solution for large scale codebases.
Good work.
Antonio, CEO at Litlyx
thanks
Can you next time provide an example of project with clean architecture? Thanks.
example using .net core API
github.com/mohamedtayel1980/clean-...
soon
ok
For mobile and large codebase I have switched to a Vertical architecture + clean design approach nowadays just easier to manage the base.
منور يا هندسة💕
Great article
thanks
Your diagram looks more like rectangles instead of circles 😀. I've always wondered, is there an actual difference in what the circlular clean architecture diagrams depict vs the non-circular diagrams?
FYI, if your article was assisted by AI, you should disclose that or tag it appropriately.
dev.to/devteam/guidelines-for-ai-a...
Thanks for this great article but I have some questions that need to clarify.
How would a business rule be applied on an entity-field (if the only way is in)?
Let's say we have an entity called order and i want make sure when set quantity it must >0 we will do the following
public class Order
{
public int Quantity { get; private set; }
}
as you see the i make private set and create method for validate the quantity
This encapsulates the business rule within the entity, making it easier to maintain and understand
In that case, the business rule is "hidden" in the entity, which is not in the Application Core.
sorry, I misunderstood your question. To clarify, we can add business rule in APP core
public interface IOrderService
{
void SetOrderQuantity(Order order, int quantity);
}
// Application Core - Service Implementation
public class OrderService : IOrderService
{
public void SetOrderQuantity(Order order, int quantity)
{
if (quantity <= 0)
{
throw new ArgumentException("Quantity must be greater than zero.");
}
order.SetQuantity(quantity);
}
}
This is rich
thanks