Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Large-scale applications? #7

Open
aceontech opened this issue Sep 30, 2014 · 6 comments
Open

[Question] Large-scale applications? #7

aceontech opened this issue Sep 30, 2014 · 6 comments

Comments

@aceontech
Copy link

Hi,

This architecture is intriguing to me and I'm itching to give it a try on my next project, but has anyone used this [successfully] on large[r] scale apps -- not just example TODO list type things?

Thanks!

@MarkMolina
Copy link

I would also like to know how this is possible. I think that allocating everything in the AppDependancies gets out of hand real quickly. An example with lazy loading would be great.

@aceontech
Copy link
Author

To the point of the dependencies, I'd probably use a IoC container like Reliant or similar.

@frankradocaj
Copy link

I agree with @aceontech. A large app is better served by dependancy injection via an IoC container. I was using Typhoon, but thanks to @aceontech, i'm going to switch to Reliant. :)

@scottrhoyt
Copy link

I'm currently working on a project using this architecture that is growing out of small-scale, so I'm becoming intimately familiar with this issue. AppDependencies does get ungainly fast. I've never used an IoC container like Reliant, so maybe I'll have to check that out.

That being said, I think one area that this example of the architecture misses the point is in the responsibilities of the wireframe. It seems like each module's wireframe should handle all of the instantiation and configuration for it's entire module and "wire" them up. This is quite possible to combine with lazy instantiation as well. The biggest issue, in my mind, come from the need to pass large amounts of data between one module and another. It seems not very clean to do this all through passing data through presenters/wireframes on both sides. But if the wireframe knows about the interactor layers, it might be able to facilitate easier data/dependency communication. Alternatively, perhaps in some cases it might be necessary to have the interactors interact directly through a data/dependency provider protocol. These solutions don't seem to help with getting dependencies that are further removed than one degree though.

@aceontech
Copy link
Author

+1 on wireframe responsibility issue @scottrhoyt

@fatuhoku
Copy link

fatuhoku commented Feb 9, 2015

@frankradocaj What does Reliant have that Typhoon doesn't?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants