当前位置:网站首页>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 ;

  1. 100 Personal access to the bathroom is 3 Pit , There's no fair distribution , That's who will wear underpants first
  2. 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 .
  3. 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 .

UML  Component diagram , From design patterns

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 .

UML  In class diagram , Interface 、 class 、 attribute 、 Method , The way of expression

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

UML Class diagram , Inheritance relationships


  • 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

UML Class diagram , Realization relationship


  • 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

UML Class diagram , synthetic relation


  • 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

UML Class diagram , Aggregate relationship


  • 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

UML Class diagram , Connections


  • 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

UML Class diagram , Dependency relationship


  • 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 ;

UML Class diagram , Zhao Jiaban panoramic class diagram

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

( Please indicate the author and source of this article WeChat official account :bugstack Wormhole stack | author : Little brother Fu

Show Disqus Comments

版权声明
本文为[Bugstack wormhole stack]所创,转载请带上原文链接,感谢