Compreendendo Diagrama de Classes da UML na prática.

Mago Minimalista
Studio Oceano
Published in
3 min readSep 29, 2019

Objetivo dessa publicação é incentivar o uso de diagramas UML na criação de aplicações com orientação a objetos. Os exemplos que irei usar nesta publicação foram retirados do site Design Patterns PHP. No final falaremos de um lado mais prático desses mapas.

Vamos aprender as estruturas de um diagrama de classes da UML. Preste bastante atenção nesse infográfico criado exclusivamente para este post.

Agora um desafio, vamos ver se você identifica esses elementos e consegue compreender os diagramas abaixo, segue 3 exemplos do padrão de projeto Structural que com certeza é um dos mais usados no mercado atual.

A.

Achei essa aplicação interessante pois remete a interface para folear páginas de livros em um dispositivo Kindle. Com o conhecimento adquiro acima, vamos analizar esse diagrama.

Consegue entender? Mágico né?!

Descubra o código deste diagrama em: https://designpatternsphp.readthedocs.io/en/latest/Structural/Adapter/README.html

B.

Esta outra aplicação é interessante pois remete ao sistema de reservas. Repare que tem uma classe para acrescentar uma cama extra e cobrar pelo serviço de Wi-fi separadamente.

Descubra o código deste diagrama em: https://designpatternsphp.readthedocs.io/en/latest/Structural/Decorator/README.html

C.

Também achei esse terceiro exemplo bem interessante porque ele implementa uma inteface e extende uma classe na classe BankAccountProxy.

Descubra o código deste diagrama em: https://designpatternsphp.readthedocs.io/en/latest/Structural/Proxy/README.html

Fica muito mais fácil escrever a classe de um código quando você para pra pensar no todo e desenha a maneira como ela se comportará, do mesmo modo fica mais simples para dividir trabalho com esse diagrama em mãos. É muito importante para evitar erros na programação.

Vamos por a mão na massa

Seria um sonho trabalhar com diagramas tão estilosos, mais ainda não encontrei um programa na internet que os produza. Vamos usar um gerador de UML que faz mais sentido pra gente.

Na internet tá repleto de softwares que criam diagramas UML, para este post irei indicar o draw.io, pois acho bem útil, gratuito, só conectar com o google drive e começa a usar.

Quando a aplicação iniciar, vá em UML e procure por diagrama de classe e ele vai te dar esse modelo abaixo, explore a ferramenta sem medo pra aprender como usar.

Agora vamos a umas traduções:

  • <<interface>> antes do título da classe para indicar interfaces;
  • <<final>> antes do título da classe para indicar classes finais;
  • Sublinhado para atributos (variáveis ou constantes) ou métodos estáticos;
  • Itálico para indicar classes ou métodos abstratas;
  • Seta pontilhada para indicar implementação de interface;
  • Seta sem pontilhado para indicar que estende uma classe;
  • # modo protegido;
  • + modo público;
  • - modo privado;

Se você olhar na internet existe muito mapa de classe UML com diferenças entre eles, uns com cores, outros sem e uma infinidade de formas para indicar de onde para onde quando a classe abstrai, então seguindo essas regras já passadas sinta-se livre para dar o seu tom aos mapas de UML e se você achar necessário fazer uma legenda, anotações, criar blocos dividindo as aplicações a qual suas classes pertencem.

Se você chegou até aqui. Muito obrigado, sinta-se livre para colaborar com esses post.

Att,

Philipe Cairon M. de Siqueira

--

--

Mago Minimalista
Studio Oceano

Designer e Desenvolvedor Web. Sou aspirante por novas tecnologias, sempre em busca de ferramentas para incrementar o trabalho ou maximizar a produtividade.