SOBRE O MDL 2.0

POR QUE MDL?

Para desenhar toda a equipe, desenhe de forma colaborativa a estrutura e o comportamento de um aplicativo em um papel ou quadro branco para que todos os envolvidos (usuários, desenvolvedores, analistas de infraestrutura, etc.) possam entender, usá-lo como documentação oficial do projeto. A simplicidade do diagrama permite que você faça um novo design para substituir o antigo em vez de ajustá-lo.

COMPONENTES MDL 2.0

Atualmente o MDL possui 7 componentes. São eles:

EXEMPLOS

exemplo arch school

O diagrama acima representa em alto nível de abstração uma solução composta por duas APIs, uma delas lista, registra e altera notas de alunos enquanto a outra tem o objetivo somente de consulta. O desenho também representa a camada de dados envolvida na solução.

NOVIDADES DA VERSÃO 2.0

O QUE MUDOU? Deixaram de existir

  • Contextos comportamental e estrutural: Agora temos apenas um contexto único, de forma em que tudo poderá ser representado nele.
  • Micro Batches: Este elemento era pouco utilizado, principalmente quando se falava em microsserviços. Assim, para não haver diferenças entre microsserviços, API's ou qualquer outro tipo de core, tudo foi sintetizado em um único elemento.
  • Layer e Tier: Não haverá mais a diferenciação entre Tier's e Layer's, que também foram sintetizadas em um único elemento.

O QUE FOI ALTERADO?

  • forma de representar camadas: Agora podemos usar o Part para representar as camadas (Tiers e Layers), além de poder ser utilizado para compor qualquer elemento. Isso possibilita uma maior facilidade e flexibilidade.
  • A forma de representar o frontend: frontend A mudança foi feita para não confundirmos Part e Frontend, sendo escolhido um componente comum em praticamente todos os editores de diagrama, de forma que a mudança não gerará nenhum ônus.
  • Conectores: Os conectores foram mantidos, mas agora podem ser utilizados em TODOS os elementos, inclusive nas Parts. Há também um maior incentivo para o uso de mais textos nos conectores, de forma a serem melhor "interpretáveis". Menor necessidade de conectores de "volta", desde que seja claro o entendimento do desenho.
  • Possibilidade de uso de imagens e ícones para design dos componentes.
  • Uso de "[" e "]" entre condições e expressões lógicas, ou seja, de que forma ocorre o link entre 2 elementos.
  • Tudo em uma única visão: Finalidade de possibilitar um desenho evolutívo. Diagramas podem nascer funcionais e serem evoluídos, continuados para serem mais abrangentese cobrirem a estrutura. Todos os elementos podem usar um "#"+ texto ou "<<"+texto+">>" para indicar o que é o elemento. Por exemplo: um sistema, uma instância de dados, uma tabela, uma tecnologia, etc.

A COMPLEXIDADE VAI AUMENTAR?

Uma pergunta que sempre surge quando falamos em mudanças. A complexidade vai aumentar? Não, na verdade haverão menos elementos e o MDL terá apenas um único contexto, e não mais um contexto comportamental e um contexto estrutural. Portanto, o MDL será ainda mais simplificado.

AS POSSIBILIDADES FORAM EXPANDIDAS OU REDUZIDAS?

Outro ponto que pode gerar preocupação são as possibilidades de design, se teremos mais restrições com a nova versão. Podemos afirmar que as possibilidades serão expandidas, o MDL ficou mais simples e mais poderoso, sendo possível utilizá-lo de mais formas que a versão anterior. Além disso, o MDL não perdeu a sua essência minimalista, continua tendo poucos elementos e poucos conectores, e com a mesma flexibilidade.