当前位置:网站首页>Do not understand UML class diagram? Take a look at this edition of rural love class diagram, a learn!
Do not understand UML class diagram? Take a look at this edition of rural love class diagram, a learn!
2020-11-06 01:17:00 【Bugstack wormhole stack】
author : Little brother Fu
Blog :https://bugstack.cn
precipitation 、 Share 、 grow up , Let yourself and others have something to gain !
One 、 Experience of yard
There's a word called involution serious !
The first time I heard this word was a little friend in my article HashMap Source code analysis article under the message :“ Brother , This is called involution !”. This article explains in depth the perturbation function 、 Load factor and related mathematical methods to verify the results , Those who are interested can jump over and read .《HashMap Core knowledge , Disturbance function 、 Load factor 、 Split the expanded list , Deep learning 》
What is involution , At first glance, the word is a bit new . Actually, involution comes from words involution, It can also be called “ Over densification ”. This explains , such as ;
- 100 Personal access to the bathroom is 3 Pit , There's no fair distribution , That's who will wear underpants first
- 100 individual 700 Score more than , Just 30% One place can go to Qingbei .3 More than ten thousand 600 Among the candidates with a score above , Many people may even 211 Can't even get on .
- Road congestion , Don't let everyone drive , We can only wait for a long time .
These can be explained by the serious problem of involution caused by over densification , But the good thing is that these are constantly optimized .
Programmers also have inner volumes ?!
In fact, most of the time we talk about programmer involution , It's about interviewing to build rockets , It's getting harder and harder to find a job .
In fact, in a way , I personally don't agree that programmers have internal volumes . In terms of the whole industry , Programmer's employment and salary are good . Some people think that the interview still needs to brush the questions 、 Learn the source code 、 Look at the frame 、 Understand Architecture and so on , But these should not be your career path as a programmer , Must be a breakthrough ?
Maybe everyone will feel like they are in a bottleneck period at some time , Doing repetitive things 、 Code it CRUD The logic of 、 No access to core technologies, etc , I feel like a baboon soon . It seems that you can only use the word "Involution" to balance your mind , Ask yourself , Have you ever devoted yourself to learning and growing up ? Do you have a plan to break through your own bottleneck ? If not, it's not called involution !
Two 、 Conference Room
Thank you plane , Notes , A week's flight back to work from vacation , The team leader arranged a project growth sharing .
Group leader : The plane , In the projects you share , The core module should be explained to you clearly . This one is quite technical !
Thank you plane : Mm-hmm , I'm also thinking about how to make people understand .
Group leader : It's better to use some tools , Logic the code 、 Functional process , Express it in the form of a graph .
Thank you plane : I can draw the flow chart , But the core function class here , I don't know how to do it yet .
Group leader : Cough , use UML Class diagram wow , Show the core class .
Thank you plane :…, I didn't draw , Did I roll it in ?
Group leader : shame on you ! When I draw some information , To teach you !
3、 ... and 、 Study on the class diagram of rural love
UML(Unified Modeling Language), It is a modeling tool for object-oriented design , The core of modeling is model , A model is a simplification of reality 、 Real abstraction .
stay UML in , All descriptions include : Business 、 Relationship 、 The three parts of the diagram are composed of , The following figure shows the relationship of all components .

Next , Let's focus on UML Class diagram relationships in , In the rural love characters .
1. Class diagram model
UML Class diagram (Class Diagrams), Is the most frequently used UML One of the pictures , A class diagram can represent a class 、 Interfaces and the collaboration between them . Interfaces 、 class 、 attribute 、 Method , It can be expressed as follows .

2. Inheritance relationships
Code
public class Xie Guangkun {
private String Seniority ;
public void Be a demon (){}
}
public class Xie Yongqiang extends Xie Guangkun {
}
public class Thank you plane extends Xie Guangkun {
}
Class diagram

- function : Inheritance relationships
- Concept : Inherit (Generaliztion) It's also called generalization , Used to indicate that the child class inherits all the functions of the parent class .
- scene : Xie Guangkun's demon making skills , Xie Yongqiang and Xie aircraft inherited . Thank you for inheriting it better , Better at .
3. Realization relationship
Code
public interface Dance {
void movements in martial arts or traditional opera ();
}
public class Lennon implements Dance {
private String Here's the name ;
public void movements in martial arts or traditional opera () {
}
}
public class Zhao si implements Dance {
private String Here's the name ;
public void movements in martial arts or traditional opera () {
}
}
Class diagram

- function : Realization relationship
- Concept : Interface 、 Methods of abstract class declaration , Implemented by a class (Realiztion) Its function .
- scene : In a dance competition between Zhao Si and Liu Neng , Zhao Si's fancy walk , Liu Neng was knocked down by Liu Neng .
4. synthetic relation
Code
public class A marriage certificate {
private Zhao Yutian Man ;
private Liu Ying Woman ;
public void set Man ( Zhao Yutian Man ) {
this. Man = Man ;
}
public void set Woman ( Liu Ying Woman ) {
this. Woman = Woman ;
}
}
public class Zhao Yutian {
private int Age ;
private String Gender ;
}
public class Liu Ying {
private int Age ;
private int Gender ;
}
Class diagram

- function : synthetic relation
- Concept : Combine (Combination) Relations represent the relationship between the whole and the parts of a class , The whole is dependent on the part .
- scene : The marriage certificate of Zhao Yutian and Liu Ying , Be short of one cannot .
5. Aggregate relationship
Code
public class mountain villa {
private Song Xiaofeng Xiaofeng ;
private Li Baoku Treasury ;
public void Medicine room ( Li Baoku Treasury ) {
this. Treasury = Treasury ;
}
public void Security department ( Song Xiaofeng Xiaofeng ) {
this. Xiaofeng = Xiaofeng ;
}
}
public class Li Baoku {
private String occupation ;
}
public class Song Xiaofeng {
private String occupation ;
}
Class diagram

- function : Aggregate relationship
- Concept : polymerization (Aggregate) Relationship , It is also used to represent the whole and part of an object , But the member object can exist independently from the whole object .
- scene : There is Li Baoku in the mountain villa 、 There is song Xiaofeng in the security department . But Li Baoku and song Xiaofeng are just one of them , You can leave the villa .
6. Connections
Code
public class Tofu factory {
private Wang Xiaomeng staff ;
public void Add employees ( Wang Xiaomeng Xiao Meng ){
this. staff = Xiao Meng ;
}
}
public class Wang Xiaomeng {
private Tofu factory Enterprises ;
public void Add enterprise ( Tofu factory Tofu factory ){
this. Enterprises = Tofu factory ;
}
}
Class diagram

- function : Connections
- Concept : relation (Association) Relationship , Is a common relationship between classes , Represents the relationship between one class of objects and another . Combine 、 Aggregation also belongs to this relationship , But the connection is weaker .
- scene : There is Wang Xiaomeng in the tofu factory , But it's not just Wang Xiaomeng in the tofu factory , And Wang Laoqi . Even if Xiao Meng is not here , The tofu factory can also operate normally . And Wang Xiaomeng has his own other enterprises , So it's a kind of relationship .
7. Dependency relationship
Code
public class attract investment {
public void China merchants ( Wang Dana Take it ){
}
}
public class Wang Dana {
private String resources ;
}
Class diagram

- function : Dependency relationship
- Concept : rely on (Dependency) Relationship when it means that one transaction needs to use another , You can use dependencies .
- scene : Wang Dana is needed to attract investment , But it's not just this big shot . Wang Dana can't come , Maybe there's Li Dana 、 Zhang Dana .
Four 、 Zhao Jiaban panoramic class diagram
Sum up , this 6 In a relationship , Combine 、 polymerization 、 The associated code structure is similar to , It can be understood from the strength of dependence . The order of strength and weakness is : Inherit > Realization > Combine > polymerization > relation > rely on .
In order to express more clearly UML Class relation , Let's draw these into a whole picture , as follows ;

5、 ... and 、 summary
- Some people say , If we communicate very friendly with aliens . Then there will be some communication between the two planets , For example, ask , Hello , How tall you are on earth ? The earth says 1.75 rice . Aliens are dizzy , What's the unit of meter ? In this way, we can only choose the standard of two planets to define , such as :1 Rice is light in a vacuum 1/299792458 The distance in seconds .
- In fact, program development is also like this , In order to reduce the communication cost of understanding new knowledge content , Some communication standards need to be defined , such as UML Class diagram . So we need to learn these standard instrumental languages , To reduce communication costs , Improve work efficiency .
- UML Class diagrams are also the most commonly used drawings , It's also very easy to master . In order to be able to lay their knowledge more perfect , More solid mastery of the technology stack , Also in order to break through the bottleneck of each stage . That requires constant learning , Keep accumulating , Find a chance to break .
6、 ... and 、 Series recommendation
- Is the grass , You're poisoning the code !
- A code review , Almost couldn't pass the probation period !
- Why programmers are keen on building wheels , Promotion and raise ?
- Most popular in the whole network 10 Million downloads ,《 Relearning Java Design patterns 》(22 Real development scenarios )
- Face to face manual ( Get on the fastest car , Take the most expensive offer)
( Please indicate the author and source of this article WeChat official account :bugstack Wormhole stack | author : Little brother Fu )
版权声明
本文为[Bugstack wormhole stack]所创,转载请带上原文链接,感谢
边栏推荐
- 条码生成软件如何隐藏部分条码文字
- Skywalking series blog 1 - install stand-alone skywalking
- GDB除錯基礎使用方法
- (2)ASP.NET Core3.1 Ocelot路由
- 自然语言处理之命名实体识别-tanfordcorenlp-NER(一)
- Polkadot series (2) -- detailed explanation of mixed consensus
- 怎么理解Python迭代器与生成器?
- A debate on whether flv should support hevc
- [C#] (原創)一步一步教你自定義控制元件——04,ProgressBar(進度條)
- Computer TCP / IP interview 10 even asked, how many can you withstand?
猜你喜欢

Character string and memory operation function in C language

Subordination judgment in structured data

100元扫货阿里云是怎样的体验?

有关PDF417条码码制的结构介绍

选择站群服务器的有哪些标准呢?

Cos start source code and creator

從小公司進入大廠,我都做對了哪些事?

How long does it take you to work out an object-oriented programming interview question from Ali school?

DTU连接经常遇到的问题有哪些

网络安全工程师演示:原来***是这样获取你的计算机管理员权限的!【维持】
随机推荐
GDB除錯基礎使用方法
大数据应用的重要性体现在方方面面
恕我直言,我也是才知道ElasticSearch条件更新是这么玩的
Real time data synchronization scheme based on Flink SQL CDC
The difference between Es5 class and ES6 class
钻石标准--Diamond Standard
Group count - word length
直播预告 | 微服务架构学习系列直播第三期
至联云解析:IPFS/Filecoin挖矿为什么这么难?
关于Kubernetes 与 OAM 构建统一、标准化的应用管理平台知识!(附网盘链接)
This article will introduce you to jest unit test
向北京集结!OpenI/O 2020启智开发者大会进入倒计时
Keyboard entry lottery random draw
如果前端不使用SPA又能怎样?- Hacker News
(2)ASP.NET Core3.1 Ocelot路由
Polkadot series (2) -- detailed explanation of mixed consensus
怎么理解Python迭代器与生成器?
(1) ASP.NET Introduction to core3.1 Ocelot
业内首发车道级导航背后——详解高精定位技术演进与场景应用
Python自动化测试学习哪些知识?