Produtividade no Desenvolvimento de Software - DSL Laboratório 1 - Parte 2
Vimos no Laboratório 1 - Parte 1 que parte do nosso problema é encontrar uma forma de representar situações do tipo
Figura 1
Ou talvez algo mais genérico como

Figura 2
Seguindo o livro estas transições de estado como representadas na figura 1 podem ser de forma equivalente representadas por
Figura 3
E é aqui que as coisas começam a ficar interessantes pois vamos começar a modelar a nossa linguagem específica para resolver este problema em particular.
Poderíamos encarar a Figura 3 como a seguinte representação para uma classe (StateElement) que representa os estados que tentamos representar no nosso problema.
Figura 4
Assim sendo o nosso "domínio" (IssueStateModel) é composto de classes StateElement.
E é a partir deste modelo que vamos criar a "definição" para a DSL que representa o problema acima de transição entre estados que é o que está demonstrado no vídeo abaixo