GithubHelp home page GithubHelp logo

Comments (3)

eonezhang avatar eonezhang commented on June 10, 2024

@mstrYoda do you have more best practice to implement DDD

from ddd-java.

mstrYoda avatar mstrYoda commented on June 10, 2024

DDD is an approach to handle projects which have complex business requirements. It could implemented by following patterns like hexagonal architecture, clean architecture or onion architecture.

More generally, while developing applications we want to make it modular, independent layers. Especially the domain layer must not be depend some implementation details like how we obtain an entity.

Here is an explanation of hexagonal architecture: https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/

If you take a look at the hexagonal/onion architecture, domain layer is in the center and not depends any other layers. Infrastructure layer is more outer layer and it depends domain layer.

Some implementations:

https://github.com/ivanpaulovich/hexagonal-architecture-acerola
https://github.com/ivanpaulovich/clean-architecture-manga

from ddd-java.

jkazama avatar jkazama commented on June 10, 2024

Thank you for your feedback.

This is simply a reference to Evans's Domain-Driven Design, and I'm not choosing the recent, redundant approach. Certainly, I think that originally Evans's book allowed Domain to depend on Infrastructure.

I would like to realize a domain model with reduced code so that it can be used in practice. It is good to create many classes for a clean architecture, but I think it is important to compromise with moderate abstraction to make domain modeling realistic.

This sample is just one approach and not an answer.

from ddd-java.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.