当前位置:网站首页>[beauty of software engineering - column notes] 23 | Architect: programmers who don't want to be architects are not good programmers
[beauty of software engineering - column notes] 23 | Architect: programmers who don't want to be architects are not good programmers
2022-07-29 08:01:00 【if...else...】
List of articles
Column information
Columnist : The treasure jade
Column publishing platform : Geek time
primary coverage
For programmers , It doesn't mean that there must be a title of architect , It's about having a big picture in mind , There is an architect's thinking , So we can understand architecture design , Be able to write good programs .
One 、 What is architect thinking ?
For architects , Control technical complexity , There are several effective ways : abstract 、 Divide and conquer 、 Reuse and iteration .
Abstract thinking
Abstract thinking can be said to be the basis of the whole architecture design .
In a software project , Encounter similar scenes , Will consider abstracting out , Summarize a rule and method . Sometimes even if the scene is different , You can also abstract the common contents , More convenient to use .
Divide and conquer thinking
A key point of architecture design , Is to divide and rule complex systems , Break down into small 、 Simple part . But light decomposition is not enough , At the same time, it is also necessary to ensure that the decomposed parts can be integrated through the agreed protocol .
Reuse thinking
Reuse is a very simple and effective way to improve development efficiency , By abstracting the same content , So that it can be reused in different scenes .
Iterative thinking
Good architecture design , Usually it is not achieved in one step , Instead, first meet the current business needs , Then it evolves gradually with the change of business .
Two 、 What is a good architect like ?
A good architect , Not only The technology is better , still more Know the business ; From the overall design architecture , It can also realize functions locally .
Because as an architect , If you don't write code , Can't realize the problems caused by poor design , Unable to make timely adjustments to problems in the architecture .
Another ability of a good architect is communication skills .
Be a good architect , Several conditions are required :
- There are architects thinking : Have good abstract thinking 、 Divide and conquer thinking 、 Reuse thinking and iterative thinking ;
- Understand business needs : Good understanding of business requirements , Can design a good architecture according to the characteristics of the business ;
- Rich coding experience : Like abstraction 、 Divide and conquer 、 Reuse these capabilities , It takes a lot of coding practice to master ; In addition, maintaining a certain amount of coding experience also helps to verify the architecture design ;
- Good communication skill : Architects need to communicate and confirm requirements , Need to get the team to understand architectural design .

3、 ... and 、 How to be a good architect ?
Want to be a good architect , There is no shortcut , It takes more effort than ordinary programmers .
For architects , My advice is :
- To be a good programmer
- Imitate and learn more
- Choose a good industry and platform
Four 、 Other excerpts
- For programmers , It doesn't mean that there must be a title of architect , It's about having a big picture in mind , There is an architect's thinking , So we can understand architecture design , Be able to write good programs .
- There is an architect called “PPT Architects ”, That is to say, he is good at writing PPT, Draw a framework diagram . Be familiar with all kinds of popular nouns . But away from front-line development , Little knowledge of business and underlying fundamentals . The architecture designed by such architects , It is usually ungrounded , It will be very difficult to achieve , The cost is also high. .
- At the beginning , Don't think about making cars behind closed doors , Think of a particularly good architecture . On the contrary, it is better to understand the mature and popular architecture in the industry first , The use of good .
summary
Architect thinking , It means having good Abstract thinking 、 Divide and conquer thinking 、 Reuse thinking and iterative thinking .
To be a good architect , There is no shortcut , First of all, you need to be a good programmer , Then imitate more 、 Learn more about good architecture design , Finally, we should choose the industry and platform as soon as possible , Accumulate business knowledge of the industry , Get a lot of practice opportunities with the help of the platform .
边栏推荐
- Joseph Ring problem
- Sqlmap (SQL injection automation tool)
- JVM garbage collection mechanism (GC)
- 技术分享| 快对讲综合调度系统
- Up sampling deconvolution operation
- Amaze UI icon query
- MySQL 45 talk | 07 line lock merits and demerits: how to reduce the impact of line lock on performance?
- Detailed explanation of the find command (the most common operation of operation and maintenance at the end of the article)
- Zip gzip tar compression Advanced Edition
- What are the common error types and solutions of black box testing?
猜你喜欢

Zero technology is deeply involved in the development of privacy computing financial scenario standards of the ICT Institute

207. Curriculum
![[freeze electron microscope] analysis of the source code of the subtomogram alignment function of relion4.0 (for self use)](/img/fe/0efdd151f9661d5cd06a79b7266754.png)
[freeze electron microscope] analysis of the source code of the subtomogram alignment function of relion4.0 (for self use)

《nlp入门+实战:第五章:使用pytorch中的API实现线性回归》

Tcp/ip five layer reference model and corresponding typical devices and IPv6

Autojs微信研究:微信自动发送信息机器人最终成品(有效果演示)

Actual measurement of boot and pH pins of buck circuit
![[cryptography experiment] 0x00 install NTL Library](/img/2a/03d95082a2a63238b475b3f7f3e13d.png)
[cryptography experiment] 0x00 install NTL Library

Compare three clock circuit schemes of single chip microcomputer

Implementation of simple matcap+fresnel shader in unity
随机推荐
You study, I reward, 21 day learning challenge | waiting for you to fight
Data warehouse modeling, what is wide table? How to design? Advantages and disadvantages
Data unit: bit, byte, word, word length
Unity beginner 3 - enemy movement control and setting of blood loss area (2D)
Solving linear programming problems based on MATLAB
MapReduce steps of each stage
Day 014 2D array exercise
What are the common error types and solutions of black box testing?
The database uses PSQL and JDBC to connect remotely and disconnect automatically from time to time
Ansible (automation software)
Amaze UI 图标查询
IonIcons图标大全
In JS, 0 means false, and non-0 means true
Space shooting Lesson 17: game over (end)
As long as flutter is data, it will be judged null
Joseph Ring problem
Prepare esp32 environment
Implementation of simple cubecap+fresnel shader in unity
功能自动化测试实施的原则以及方法有哪些?
Resize2fs: bad magic number in super block