Damilola Omoyiwola
1 min readMay 2, 2021

--

Hi Omer,

I'm glad it is useful.

Well, modularisation is a matter of choice alongside clean architecture according to the principle of separation of concerns. So, the reason I have a presentation module is to make access to a shared ViewModel class easy for feature modules. I mean more than one feature modules may have a cause to share a single ViewModel class.

Also, the presentation layer helps to abstract the domain layer from the app module/layer. You could see that the mapping of the data layer to the view is done in the presentation layer.

In addition, there might a problem if you decide to put all together because you would have to have a ViewModel class or few functions duplicated across different feature modules. And of course, you can not access an app module in a library module except vice-versa.

Let me know if more clarity is needed.

Thanks for reading.

--

--

Damilola Omoyiwola
Damilola Omoyiwola

Written by Damilola Omoyiwola

Android Engineer | Occasional Writer

No responses yet