当前位置:网站首页>Upstream and downstream in software development
Upstream and downstream in software development
2022-07-01 01:43:00 【hys__ handsome】
After listening to Tencent rhinoceros bird Wang Jia's explanation of open source , Upstream of the technical terms (upstream) And downstream (downstream) incomprehension , Read this article blog I understand that the records are hereby reproduced .
Look at the following blog I understand : In nature, water flows from high to low , The kinetic energy of the water at the bottom is higher than that at the top , Abstract into value , So value ( Kinetic energy ) The relatively high is downstream , On the contrary, it is upstream .
What is Upstream and Downstream in Software Development Chinese translation of .
In the last period of time , I began to come into contact with “ The upstream ” and “ The downstream ” These two words , Often confused . Every time I have to check its meaning , So I decided to write them as blog To help understand .
Upstream and downstream in the production process
Let's start with a simple production process , Although it has nothing to do with software development , But we can define the upstream and downstream of software development on this basis .( Activity diagrams , A solid indicates the beginning , The middle point means the end )
In the example above , We have three steps :
- Collect parts
- Assemble parts
- Draw the assembly
The above production process is very similar to the river , So it's easy to understand As the process moves from one step to the next , Gradually " The downstream " Move
We can infer the following rules :
- Rely on the rules : Each current project depends on all upstream projects
- Value added rules : In the process of moving downstream , Each step adds more value to the product
Now? , Let's try to apply these rules to different software development environments .
Upstream and downstream of software dependencies
Most software components depend on other components . So what are upstream dependence and downstream dependence ?
As shown in the figure :
Components C Component dependent B, And components B And depends on components A.
application Rely on the rules , We can definitely say components A It's a component B Upstream , And components B It's a component C Upstream ( Even if the arrow points in the other direction ).
Apply here Value rules A bit abstract , But we can say components C Have the greatest value , Because it “ Import ” Components B and A All the characteristics of , And add your own value to these features , Make it a downstream component .
Upstream and downstream open source projects
The other is often used “ The upstream ” and “ The downstream ” The environment of these two words is open source development . It is actually very similar to the component dependencies discussed above
Consider the project A and B, among A It's the original project ,B yes A The branch of :
This is a fairly common development style in open source projects : We create a branch of the project , Fix the error or add functionality to this branch , Then submit the patch to the original project .
under these circumstances , Rely on the rules Make the project A Become an upstream project , Because it can be in no project B To survive well , But if there is no project A( Original project ), project B( Bifurcation ) It won't even exist .
Value rules It also applies here : project B Added new features or bug fixes , It is the original project A Added value .
therefore , Every time we contribute a patch to an open source project , We can all say We have sent a patch to the upstream .
Upstream and downstream in the microservice architecture
By microservices ( Or just old-fashioned distributed services ) In a system composed of , There are also discussions about upstream and downstream Services .
Rely on the rules and Value rules It also applies to this situation
service B It is an upstream service , Because the service A Depend on it . service A It is a downstream service , Because it adds Services B The value of .
Please note that , In this case, the upstream and downstream definitions of “ flow ” Not through service A Data flow into the system , It is Data flow system to user oriented service .
The service is far away from the user ( Or any other end consumer ) Closer , The farther it is from downstream .
Conclusion
In the use of “ The upstream ” and “ The downstream ” In any context of the concept , We can apply two simple rules to find out which project is upstream or downstream of another project .
If one project adds value to another project or relies on it in any other way , It must be downstream .
边栏推荐
- 物业怎么发短信通知给业主?
- Mathematical knowledge: finding combinatorial number IV - finding combinatorial number
- [Agora] user management
- 视频教程 | 长安链推出系列视频教程合集(入门)
- Laravel+redis generates an order number - automatically increase from 1 on the same day
- Ks009 implementation of pet management system based on SSH
- 数学知识:求组合数 IV—求组合数
- Selenium经典面试题-多窗口切换解决方案
- 小程序中实现excel数据的批量导入
- [无线通信基础-15]:图解移动通信技术与应用发展-3- 数字通信2G GSM、CDMA、3G WDCMA/CDMA200/TD-SCDMA、4G LTE、5G NR概述
猜你喜欢
远程办公如何保持高效协同,实现项目稳定增长 |社区征文
医疗HIS行业短信发送解决方案
After working for 6 years, let's take stock of the golden rule of the workplace where workers mix up
短信在企业中的应用有哪些?
6月第4周榜单丨飞瓜数据UP主成长排行榜(哔哩哔哩平台)发布!
The argument type 'function' can't be assigned to the parameter type 'void function()‘
Using recyclerreview to show banner is very simple
软件测试的可持续发展,必须要学会敲代码?
农产品换房?“变相”购房补贴!
3500字归纳总结:一名合格的软件测试工程师需要掌握的技能大全
随机推荐
如何选择券商?另外,手机开户安全么?
微生物安全與健康,什麼是生物處理?
Connectivity basis of Graphs
[deepin] common sets
工作6年,来盘点一下职场人混迹职场的黄金法则
数学知识:求组合数 III—求组合数
短信在企业中的应用有哪些?
What are the functions of soil microorganisms in microbial detection?
gin_ gorm
[content of content type request header]
Thinking brought by strictmode -strictmode principle (5)
Construction and beautification of personal blog
laravel 事件 & 订阅
股票开户有哪些优惠活动?另外,手机开户安全么?
[Qt5 tab] tab label and content hierarchical analysis
gin_gorm
[无线通信基础-15]:图解移动通信技术与应用发展-3- 数字通信2G GSM、CDMA、3G WDCMA/CDMA200/TD-SCDMA、4G LTE、5G NR概述
Strictmode jamming and leakage detection -strictmode principle (2)
Unknown database connection database error
gin 配置文件