Tobiloba Adejumo
1 min readAug 16, 2019

--

This is a lovely question, Bipin Khatiwada. Thank you for asking. Think of it this way: I do not want to perform any logical manipulation in my activity or view class, I want to perform all logical manipulations in my Presenter class. So, instead of your activity or view class to have access to the Model class, the Presenter now has the access.

Now, see. Your Presenter needs the Model class, because of your activity or view class. Your Model class doesn’t even need the Presenter. The Presenter needs to always check what is present in the Model Class. The Model class doesn’t need to check the Presenter.

Analogy: If you save your money in a bank, and then your different clients sends money to your account. The bank doesn’t care how many clients you have. When you need to spend the money, you will withdraw from the bank. When you need to save money, you will go to the bank. The bank won’t come to your house to get money from you.

The bank: Model Class
You: Presenter Class
Different Clients: Different Data Source.

If you still have problem understanding this, please revert and I’ll try explaining it better!

--

--

Tobiloba Adejumo
Tobiloba Adejumo

Written by Tobiloba Adejumo

Interested in biomarker development, software dev and ai, as well as psychology, history, philosophy, relationships. Website: tobilobaadejumo.com

Responses (1)