issue-13-viper icon indicating copy to clipboard operation
issue-13-viper copied to clipboard

[Question] Large-scale applications?

Open aceontech opened this issue 10 years ago • 6 comments

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!

aceontech avatar Sep 30 '14 15:09 aceontech

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.

MarkMolina avatar Oct 12 '14 12:10 MarkMolina

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

aceontech avatar Oct 13 '14 07:10 aceontech

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. :)

frankradocaj avatar Oct 14 '14 01:10 frankradocaj

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.

scottrhoyt avatar Dec 04 '14 20:12 scottrhoyt

+1 on wireframe responsibility issue @scottrhoyt

aceontech avatar Dec 05 '14 10:12 aceontech

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

fatuhoku avatar Feb 09 '15 14:02 fatuhoku