Giter VIP home page Giter VIP logo

Comments (3)

maxeema avatar maxeema commented on June 16, 2024

Hello, Sébastien!

Original (deprecated) version of the project is available here:
https://github.com/maxeema/max_clean_arch/tree/master/old/max_clean_arch

Kind regards,
Max

from max_clean_arch.

maxeema avatar maxeema commented on June 16, 2024

Sebastien

There were some circumstances why there is no history of the project available.

What about the new code-base. Yes, it's pretty different. And the main difference is that the data and domain layers are extracted as independent modules into the "packages" folder.

Thus, in the proposal, there is only one domain. And you can see it as navigation_repository with its contract and models in "packages".

Data layers: web_app_navigation_repository and in_memory_navigation_repository implement the repository and provide data from different sources.

I would say that the lib folder is the implementation of the presentation layer that utilizes domain and data.

Also, I updated/added links in the article and READMEs accordingly.


Kind regards,
Max

from max_clean_arch.

sbatezat avatar sbatezat commented on June 16, 2024

Many thanks for this answer.

Some thought about your changes:

  • I agree with the idea to create dedicated module for the data and domain layers. That's make them reusable if needed, and force developers to embrace the clean architecture (no possibility to make a wrong implementation). 👍
  • However I don't understand why you don't have a domain package and a data one. Finding models inside the repository folder doesn't seems to be the right thing in a real app. Imagine you've got a user model. You will probably have to use it accross multiple repository and/or use cases (getProductOfUser, getPetOfUser, ...). What have motivated you do do these changes?

from max_clean_arch.

Related Issues (1)

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.