I haven’t summarized my knowledge for a long time. I will write a series of articles and ideas about MVVM framework while I am not busy recently. We will discuss with interested students, grow together and make progress together.

MVVM framework construction (a) – background

The construction of MVVM framework (ii) – project construction

The construction of MVVM framework (three) — network request

MVVM data persistence (I) — ROOM integration

MVVM data persistence (2) — use of ROOM

The original

About architecture, there is a popular saying on the Internet that there is no best architecture, only suitable architecture. For Android development also for a few years for us, it may not be complicated to implement a feature, but only to implement the function? Is there any deeper thinking, or is there any new exploration of new technology? That’s why I’m writing this series of articles. Of course, this is only on a personal level. For the company, with the increase of business, the huge size and structure of the company’s code will be very huge for the maintenance and learning costs in the later stage. It is also in urgent need of a suitable and stable framework to re-plan our existing structure. The combination of these two points is our original intention.

build

My ideal state is to reduce as much as possible, as far as possible in the case of the large framework structure is clear, each small module is separated, as far as possible so that the development does not affect each other to increase the development efficiency, but also greatly save compilation time. Keep the code as simple as possible to make it easier for newcomers and handover. Of course, at present is only a relatively ideal state, but also in this direction.

comb

Based on our existing projects, I began to sort out the structure of the project layer by layer. In fact, our project is roughly divided into the following parts.

The last

Based on the above, we started to build the architecture bit by bit.

The project address

Github.com/yang0range/…