kauemurakami / getx_pattern

Design pattern designed to standardize your projects with GetX on Flutter.
https://kauemurakami.github.io/getx_pattern
1.01k stars 234 forks source link

Modules... #35

Closed AlexMcConnell closed 2 years ago

AlexMcConnell commented 3 years ago

There is a lot to like about this pattern, but the use of the term "modules" here is a little weird, since every other root folder also contains modules. It seems like views would be better or maybe view_modules.

I also don't really understand why you'd make the stuff in the modules folder modular while making everything else monolithic. Modular structure should be used everywhere in my opinion:

- /data
    - /my_api
        - /endpoint_a
            - /models
        - /endpoint_b
            - /models
    - /aws_api
        - /models
    - /db
        - /models
    - /storage
        - /models
kauemurakami commented 3 years ago

Of course, within each folder, even the same file, you can modularize. But here we have different definitions, I brought concepts from other places but not the terms. So a module here is composed of its controller page, subwidgets, repository and binding, but you can call it whatever you want, I put the name of each module corresponding to the page, so a login module, here, refers to all the components responsible for this view. But we can't say that we'll only use them, a view/page/feature, which I've seen them call several names, is too static for the reactive paradigm. A module interacts with others, in addition to being able to provide information and so on. In my case I use "min files" for parts of the project that are not module based and only have one function, like api/db. All these functions are accessible through my repository, so I don't separate them, they can have 2k of lines that I still access through my module, that way we unclops as much as possible of them reusing as much of the functions of the apis and services as possible. But I will think of something about reasoning. Thanks