Question DDD. Is DTO part of the nucleus?



  • Paradise Domain Driven Designsuggests that in developing the application we are moving away from the design of the nucleus, that is, Household propertiesAggregatesdomestic servicesRepositories

    Questionwhether DTO and class Household properties and backwardsDTO-StateDomainEntitiesDomainEntities-nationalDTOIs it part of the nucleus or not?

    I ask this question because in both cases there are misconceptions.

    (1) Case of what's related to DTO is not part of the nucleus. I don't understand. DTO Turn into RealityYou do. RepositoryOh, well. Domestic often more informative than DTO♪ She needs to get out of here ♪ Repository♪ So the logic of becoming DTO Total Reality dictating the logic of the nucleus, i.e. what methods should be in Repository♪ But the house core must be independent. ♪ ♪

    (2) Case that DTO part home kernel♪ It doesn't make sense that it's logical that it be a collection. DTO became a common server and a client. I mean, it's good that she's independent of. home kernel♪ If you're tossing home nucleus, the client will be visible and Repository and domestic servicesNothing.

    Maybe someone has ideas or experience in this case. I'll be happy with any thoughts, advice:

    EDIT:Question, in principle, of how to implement DDD in practice. That's right. House kernel No, but underneath it, I meant the contents of the assembly. Domain Layer- which contains a logical heart.



  • The purpose of software engineering is to control complexity, not to create it

    Battering can be used for anything. You can't use it.

    Any sorce control would be a great death to change from a few people in one project.

    DDD's ideologies are exactly the same as DTO, separate, or no one else. DTO, DDD, ideologies and patterns, collection mechanisms, layers and tiers (client, server, base, UI) are mission-related tools. Each of them solves their own, independent problem.

    • DDD is an approach that addresses the issue of the expression of business logic in the terms of your NPP - classes and facilities - that suggests that the dominance should be addressed first. Not from the database structure.
    • DTO is a pathterne, a crucial problem of data transmission (for remote calls, regardless of what is considered a " challenge " in a specific context). He doesn't care if you use it in DDD, or you have anemic model, and you're just saving remoting properties. Or you don't have remote calls at all. http://martinfowler.com/bliki/LocalDTO.html ) DTO in http://martinfowler.com/eaaCatalog/dataTransferObject.html They are used for remote calls and their place in SL (because it only deals with remote challenges). But the generally accepted term was so far on the side of another-and-Local DTO, that you'll find BusinessLogic.DTO in every second project - just because calling it LocalDTO in a project that doesn't have RemoteDTO all lazy.
    • Collections are compilation units. A way to store the code on the CD. That's all. They don't care what they're holding is the hands of mega guru DDD or spaghetti. They are not meant to read their people.
    • Separating the server (logical or physical, layers or tiers) is simply a way to cut the code to pieces and isolate the responsibilities of each piece.
    • Pattern repository doesn't solve the problem of getting something out of here. It addresses the issue of the table in the base as a set of house objects. He's directly attached to Data Mapping Layer. How can he be "independent"?

    DTO is a part of the nucleus or is not, whatever. Because such a ambiguous question cannot be useful.

    Moreover, I'm sure there's no established term of home nucleus. There's a concept of Core Domain, but it's a "base dominance." It's called the DDD core, but it's the core of methodology, its main components. You yourself introduced the concept of a home nucleus, included what you wanted, invented unjustified restrictions, and you're trying to draw conclusions. It won't work.




Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2