Skip to content
nenick edited this page Nov 23, 2014 · 8 revisions

Reason for this structure

  • you can only access classes from the direct underlying layer
  • clear separated responsibility for view, domain and data logic

Should show the module diagram

App

Wires all modules together to an android app. Integrations tests based on Robolectric and Espresso are done here.

Data

Storage (database, file, ...) and network handling. Synchronisation between network and storage. Hides how to access necessary data.

The DataRepository module is the connection between Data and Domain.

Domain

Implements use cases which are offered at presentation.

The DomainInteractor module is the connection between Domain and Presentation.

Presentation

View logic.

Shared

Contains data transfer object, perhaps later comes a better solution.

Clone this wiki locally