当前位置:网站首页>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 )
边栏推荐
猜你喜欢
How to troubleshoot SharePoint online map network drive failure?
[introduction] approximate value
base64
如何使用layui将数据库中的数据以表格的形式展现出来
QT -- 1. QT connection database
OJ input and output exercise
She is the "HR of others" | ones character
[untitled]
Download xshell and xftp
Instead of houses, another kind of capital in China is rising
随机推荐
IMDB practice of emotion classification (simplernn, LSTM, Gru)
Lm08 mesh series mesh inversion (fine)
How relational databases work
Tupu software has passed CMMI5 certification| High authority and high-level certification in the international software field
【批处理DOS-CMD命令-汇总和小结】-Cmd窗口中常用操作符(<、<<、&<、>、>>、&>、&、&&、||、|、()、;、@)
5大组合拳,解决校园6大难题,护航教育信息化建设
[untitled]
getInputStream() has already been called for this request
[untitled]
sqlalchemy创建MySQL_Table
Day5: scanner object, next() and nextline(), sequential structure, selection structure, circular structure
初学者如何正确理解google官方建议架构原则(疑问?)
Saving db4i depth camera pictures with MATLAB
[batch dos-cmd command - summary and summary] - Common operators in the CMD window (<, < <, & <,>, > >, & >, & >, & &, ||, (),;, @)
[untitled]
Find the nearest n-th power of 2
Implementation and encapsulation of go universal dynamic retry mechanism
Rk3399 platform development series explanation (network debugging) 7.30. What will affect the sending process of TCP packets?
LSTM of RNN
Soft keyboard height error