当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- Synchronous configuration from git to consult with git 2consul
- How to select the evaluation index of classification model
- Elasticsearch database | elasticsearch-7.5.0 application construction
- 嘘!异步事件这样用真的好么?
- High availability cluster deployment of jumpserver: (6) deployment of SSH agent module Koko and implementation of system service management
- Skywalking series blog 2-skywalking using
- CCR炒币机器人:“比特币”数字货币的大佬,你不得不了解的知识
- 哇,ElasticSearch多字段权重排序居然可以这么玩
- ipfs正舵者Filecoin落地正当时 FIL币价格破千来了
- 简直骚操作,ThreadLocal还能当缓存用
猜你喜欢
How do the general bottom buried points do?
快快使用ModelArts,零基礎小白也能玩轉AI!
Computer TCP / IP interview 10 even asked, how many can you withstand?
从海外进军中国,Rancher要执容器云市场牛耳 | 爱分析调研
Calculation script for time series data
如何将数据变成资产?吸引数据科学家
3分钟读懂Wi-Fi 6于Wi-Fi 5的优势
至联云解析:IPFS/Filecoin挖矿为什么这么难?
Troubleshooting and summary of JVM Metaspace memory overflow
TRON智能钱包PHP开发包【零TRX归集】
随机推荐
如何在Windows Server 2012及更高版本中將域控制器降級
2018中国云厂商TOP5:阿里云、腾讯云、AWS、电信、联通 ...
全球疫情加速互联网企业转型,区块链会是解药吗?
Network security engineer Demo: the original * * is to get your computer administrator rights! 【***】
PHPSHE 短信插件说明
深度揭祕垃圾回收底層,這次讓你徹底弄懂她
速看!互联网、电商离线大数据分析最佳实践!(附网盘链接)
Python自动化测试学习哪些知识?
Aprelu: cross border application, adaptive relu | IEEE tie 2020 for machine fault detection
[performance optimization] Nani? Memory overflow again?! It's time to sum up the wave!!
怎么理解Python迭代器与生成器?
Let the front-end siege division develop independently from the back-end: Mock.js
Swagger 3.0 天天刷屏,真的香嗎?
遞迴思想的巧妙理解
Chainlink将美国选举结果带入区块链 - Everipedia
Wiremock: a powerful tool for API testing
Kitty中的动态线程池支持Nacos,Apollo多配置中心了
网络安全工程师演示:原来***是这样获取你的计算机管理员权限的!【维持】
幽默:黑客式编程其实类似机器学习!
WeihanLi.Npoi 1.11.0/1.12.0 Release Notes