Comments (4)
It'd be better if they don't, but it's difficult to do without a dependency injector, as the presenter needs to get it as a dependency (otherwise you can't mock it in tests), and the presenter also needs to be declared somewhere.
To sum up, in this example, the activity is doing the task of the dependency injector, so that's why it builds and provides all the dependencies, but in a real project you'd probably use Dagger or similar to provide that.
This example is not using Dagger because is meant to be a simple MVP example for people that starts with the pattern for the first time.
from androidmvp.
Thanks for the answer! But is there any possibility of correctly doing this without a DI framework, such as Dagger?
from androidmvp.
You could create your own classes that implement a simple DI, but as the project grows, it's going to be difficult to manage.
from androidmvp.
Thanks!
from androidmvp.
Related Issues (18)
- Unit tests HOT 6
- Orientation Change HOT 2
- More advanced use cases HOT 6
- how make request for one api HOT 2
- Import this project HOT 2
- Scrren rotation HOT 2
- There is a loose coupling between View and Model in main package
- I'd like to create Mockito tests for the LoginPresenterImpl HOT 3
- Is this package structure correct? HOT 6
- Interactor what in MVP HOT 11
- [Question] Which is better using contact? or dividing presenter between view interface? HOT 3
- Where to reach domain layer from MVP HOT 2
- DI with your MVP example HOT 2
- LoginInteractor中的一个小问题 HOT 2
- I have a problem in gradle build
- How about life cycles ? HOT 1
- Memory Leak in Activity? HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from androidmvp.