A good software architecture allows the system to be easy to understand, to develop, to maintain and to implement.
The most important principle to follow is separation of concerns. It's a common mistake to write all your code in an Activity or a Fragment. These UI-based classes should only contain logic that handles UI and operating system interactions. By keeping these classes as lean as possible, you can avoid many lifecycle-related problems.
Together with you at a lecture, we will consider:
1) Introduction to Architecture as meaning
2) Main principles
3) Clean Architecture overview
BTW, we create a telegram chat for the discussions!
See you soon!
Android Academy team.