当前位置:网站首页>How can beginners correctly understand Google's official suggested architectural principles (questions?)
How can beginners correctly understand Google's official suggested architectural principles (questions?)
2022-07-01 08:09:00 【Lighthouse @kuaidao】
Preface
Recently, I took the time to read google Of Jetpack Architecture components ,kotlin coroutines 、flow. And then google Official recommended application architecture guidelines ,compose etc. . These are The current mainstream application development technology stack . Our project has been set up , But my understanding is very shallow , The architecture recommended on the official website is not used in writing MVP Write straight . But these are the technology stacks that should be mastered in the future , Record the doubts .
1. Standard data-driven code styles , And the responsibilities of all levels , How the layers are related .
UI layer
Activity、Fragment Whether only ui Related codes : ui Related codes refer to those codes ?
Whether the element is displayed or hidden , Add and remove . Font color value , The picture style , font size , Are you refreshing these only with View Elements that are related to their own attributes .
viewModel What code to put ? What's the effect .
For example , In the login interface [ Conditional check logic ],EditerText Of textChange Logic , Check whether the password conforms to such judgment logic, and put it in ?viewModel You need to expose methods to the interface , Whether these methods need suspend modification .
Domain layer (xxxUserCase)
What type of code is put into the domain layer , If you need suspend modification . What style code is exposed . The domain layer can create object class Singleton class
xxxxResp The repository
Repository split , How to understand repository splitting , How to split is correct or relatively correct .
xxDataSource data source
Data sources in applications only , file , database , Memory , The Internet . If you define these earlier , That is, four data sources . Whether it should be defined in this way
NetDataSource ,DbDataSource ,FileDataSource DataStoreDataSource , So a large project only defines these four data elements , It must not be enough , How to subdivide
In general .
Tool library ,widget Custom layout , Elements , General network request logic , Remove it there ?
There is also the use of synergy , It's also a little knowledge . Nested usage of coroutines , How to control the timing between the network request initiated by the cooperation process and the ordinary network request , Then execute first and then execute another . Parallel execution , Nesting
Write the nested code of the cooperation process according to the gourd drawing , It's hard to write by yourself , The more I write, the less I know . Mainly, the nesting of network request code does not look elegant or beautiful .
How to understand business logic
Functional logic : Explain the logic of this function in detail .
Interactive logic : Explain the mutual jump between pages .
Visual Logic : Right color , Requirements for icons .
Business logic : Talk about the business corresponding to this function .
The business logic is split into functions that implement specific functions , Different functions deal with different problems ( Input data format verification , Format checking )
边栏推荐
- [MySQL learning notes 28] storage function
- Caesar
- Tupu software has passed CMMI5 certification| High authority and high-level certification in the international software field
- slice扩容机制分析
- Aardio - 自己构造的getIconHandle的方法
- [untitled]
- [untitled]
- [batch DOS CMD summary] extension variables - delay variables CMD /v:on, CMD /v:off, SETLOCAL enabledelayedexpansion, disabledelayedexpansion
- 凸印的印刷原理及工艺介绍
- [staff] high and low octave mark (the notes in the high octave mark | mark range are increased by one octave as a whole | low octave mark | mark range are decreased by one octave as a whole)
猜你喜欢

软键盘高度报错

web254

Lm08 mesh series mesh inversion (fine)

使用 setoolkit 伪造站点窃取用户信息

0 basic introduction to single chip microcomputer: how to use digital multimeter and precautions

Android screen adaptation (using constraintlayout), kotlin array sorting
![[batch dos-cmd command - summary and summary] - Common operators in the CMD window (<, < <, & <,>, > >, & >, & >, & &, ||, (),;, @)](/img/48/de19e8cc007b93a027a906d4d423b2.png)
[batch dos-cmd command - summary and summary] - Common operators in the CMD window (<, < <, & <,>, > >, & >, & >, & &, ||, (),;, @)

Tupu software has passed CMMI5 certification| High authority and high-level certification in the international software field
![[staff] key number (key number identification position | key number marking list | a major key identification principle | F, C, G position marking ascending | F major key identification principle | B](/img/48/e98d01830867baa742574e1b6e1096.jpg)
[staff] key number (key number identification position | key number marking list | a major key identification principle | F, C, G position marking ascending | F major key identification principle | B

Teach you how to apply for domestic trademark online step by step
随机推荐
Cmake I two ways to compile source files
力扣每日一题-第31天-1502.判断能否形成等差数列
AArdio - 【问题】bass库回调时内存增长的问题
Scala language learning-07-constructor
凸印的印刷原理及工艺介绍
PHP laravel wechat payment
Analysis of slice capacity expansion mechanism
Source code analysis of open source API gateway APIs IX
如何使用layui将数据库中的数据以表格的形式展现出来
SharePoint - how to quickly check whether SharePoint is standard or enterprise edition?
Find the nearest n-th power of 2
PWN attack and defense world int_ overflow
[MySQL learning notes 26] view
[getting started] intercepting strings
She is the "HR of others" | ones character
Transaction method call @transactional
EDA开源仿真工具verilator入门6:调试实例
一套十万级TPS的IM综合消息系统的架构实践与思考
seaborn clustermap矩阵添加颜色块
Learn reptiles for a month and earn 6000 a month? Tell you the truth about the reptile, netizen: I wish I had known it earlier