Giter VIP home page Giter VIP logo

Comments (2)

mars885 avatar mars885 commented on July 28, 2024 1

common-domain & common-data exist purely out of the reason that two or more features require access to the same use cases. Putting them inside the domain & data module of some feature will require importing the whole feature, including domain, data, and presentation subpackages. This is not ideal, since we want to just have access to the use cases & don't really care about the presentation.

feature-discovery & feature-category both use Observe*GamesUseCase & Refresh*GamesUseCase. Therefore, they are put into the common-domain that is included then into both feature-discovery & feature-category modules.

Hope it helps.

from gamedge.

mars885 avatar mars885 commented on July 28, 2024 1

Btw, common-domain & common-data modules are also not ideal, in my opiniom. The reason being is that, sooner or later, they are bound to become monoliths, since quite a lot of use cases may be reused across features when the app grows.

The better idea is having some common module (e.g., common-games) that will have two subpackages called domain & data. Then it'll be quite easy to plug them into features that actually use them. In that scenario, common-domain and common-data won't exist at all, since everything will be extracted into corresponding reusable modules (e.g., common-games, common-auth, common-news, etc.) & the monolith problem is resolved. However, I haven't tried that yet, but that's definitely looks much better than the current approach of having just common-domain and common-data modules.

from gamedge.

Related Issues (20)

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.