Understanding the DDD Concept

Asked

Viewed 693 times

1

Good,

I’m starting a new application, relatively simple, and I want to structure it into the DDD concept.

I have read a lot on the Internet, I have seen many examples and meanings, but I would like to know more simply.

Given the following structure (the pattern I found most on the internet):

  • "Project". Application: Class Library persistence/repository and interface;
  • "Project". Domain: Class Library where my "Models/Entities";
  • "Project".Infra.Data: Class Library responsible for mapping the models (Mapping/fluentAPI);
  • ""Project. MVC: Standard MVC Project, but without Models and Directly explicit repositories;

This structure is really right? Because I intend to continue with her for my next projects and reformulate some that are already implemented.

  • http://answall.com/questions/78716/howto extend pocos-do-entity-framework-encapsulando-as-regras-de-neg%C3%b3cio/80674? s=2|0.7859#80674

1 answer

3


The correct answer is: it depends. Your architecture must be emergent, that is, your requirements must guide the architecture.

Is this project organization correct? A: Yes.

However, what are your requirements? Very high performance? If the answer is yes, this separation of projects may affect performance, although it favors maintenance / organization.

I suggest something simpler, and if necessary, you refatora.

  • I understood yes. In reality, it prioritizes the performance, but nothing in the "real time" style. Just one point: When you talk about "I suggest something simpler," you refer to "naked and raw" MVC, as it comes, all separate within a single Project?

  • for small projects would have no problem, but I imagine this is not the case ... I usually use mvc as a presentation, I have a class library for business rules and another for data access...

  • taking advantage, get the book of Dino Esposito - Enterprise . NET Applications Version 2 ... excellent book ;)

Browser other questions tagged

You are not signed in. Login or sign up in order to post.