GregoryConrad / rearch-dart

Re-imagined approach to application design and architecture
https://pub.dev/packages/rearch
MIT License
92 stars 4 forks source link

Repository Pattern #72

Closed jtkeyva closed 10 months ago

jtkeyva commented 10 months ago

Do you recommend using repositories or a monorepo or no repo with ReArch? If so, do you have an example implementation?

busslina commented 10 months ago

https://github.com/GregoryConrad/rearch-dart/discussions/28

GregoryConrad commented 10 months ago

In addition to #28, I can briefly touch on monorepo vs. not.

I prefer monorepos mostly because Melos is so pleasant to work with. As an example, unnested is built as a monorepo even though it is just one package. Melos makes working with Dart packages just that much easier.

That being said, you're welcome to structure your code however you please. Just don't overcomplicate it 😉

jtkeyva commented 10 months ago

thanks! oh boy now i have to go down the melos rabbit hole and check out unnested.

you know, what really frustrates me about BLoC is all the boilerplate. i like the feature structure where everything is self contained. that way they can be completely decoupled/modular and swapped out to different projects and you can also contain features to certain devs as to not screw up the monorepo. i think i just need to accept that there is no perfect setup and there will always be annoying edge cases.

i will say that bloclibrary.dev does a great job of providing an opinionated format. I feel as long as I follow it, I'm pretty safe even with the boilerplate and trying to figure out how to manage features that rely on other features. In discord, felix said he likes his structure as flat as possible and that features should not have to reference eachother. if so, then combine and make a new feature. ugh i dunno...

ps: add your project to the Melos list so you get more exposure: Submit a PR if you'd like to add your project to the list. Update the README.md and the docs.

You can also add a README badge to your projects README to let others know about Melos 💙.