当前位置:网站首页>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 )
边栏推荐
- [force deduction 10 days SQL introduction] Day9 control flow
- Lm08 mesh series mesh inversion (fine)
- The Windows C disk is full
- php laravel微信支付
- She is the "HR of others" | ones character
- getInputStream() has already been called for this request
- 力扣每日一题-第31天-202.快乐数
- 防“活化”照片蒙混过关,数据宝“活体检测+人脸识别”让刷脸更安全
- AArdio - 【问题】bass库回调时内存增长的问题
- Access report realizes subtotal function
猜你喜欢

web254

SharePoint - modify web application authentication using PowerShell

Gru of RNN

Teach you how to apply for domestic trademark online step by step

使用beef劫持用户浏览器

SQL number injection and character injection

Caesar
![[question brushing] character statistics [0]](/img/cc/f5aaecd920c502180303d92447e54f.png)
[question brushing] character statistics [0]

Soft keyboard height error

Learn the knowledge you need to know about the communication protocol I2C bus
随机推荐
OJ input and output exercise
Software testing methods and techniques - overview of basic knowledge
Implementation and encapsulation of go universal dynamic retry mechanism
Android screen adaptation (using constraintlayout), kotlin array sorting
【入门】输入整型数组和排序标识,对其元素按照升序或降序进行排序
[MySQL learning notes 26] view
谈谈数字化转型的几个关键问题
AArdio - 【问题】bass库回调时内存增长的问题
Office365 - how to use stream app to watch offline files at any time
Access report realizes subtotal function
Programmer's regimen
Principle and process of embossing
PHP laravel wechat payment
01 NumPy介绍
Day5: scanner object, next() and nextline(), sequential structure, selection structure, circular structure
【刷题】字符统计【0】
力扣每日一题-第31天-1502.判断能否形成等差数列
Analysis of slice capacity expansion mechanism
[question brushing] character statistics [0]
一套十万级TPS的IM综合消息系统的架构实践与思考