10. 10
Our goal(s)
● Architecture focused on use cases and main
system function
● Clear use cases first!
● Easy to maintain
● Fast to test
● Easy to test
● Very cohesive
● Decoupled
17. 17
Use Cases
Use Cases orchestrate the flow of data to and
from the entities.
They are also called Interactors.
18. 18
Interface Adapters
This set of adapters convert data from the format
most convenient for the use cases and entities.
Presenters and Controllers belong here.
28. 28
Entities Layer
● Basic java object
● No frameworks
● Test for business objects
● No mocks and stubs
Domain/Business
Layer
Entities Layer
Interactors
Boundaries
29. 29
Presentation Layer
● Logic related to UI (view and animation)
● Logic related to Activity and application lifecycle
● Fragments and Activities are only views!
● Design: MVP/MVC/MVVM pattern
● Strongly connected with Android SDK
38. 38
65K
Unable to execute dex: method ID not in [0, 0xffff]: 65536
Conversion to Dalvik format failed: Unable to execute dex: method ID
not in [0, 0xffff]: 65536
39. 39
How to solve it
● Find reason
– dex-method-counts
● jarjar
● Shrinking libs via Proguard
● Multidex