Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMarcela Borba Alterado mais de 10 anos atrás
1
Aplicando Padrões de Projeto no Desenvolvimento de DSL: Um estudo de caso
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho Orientador: Prof. M. Sc. Marum Simão Filho
2
Agenda Introdução Padrões de Projeto DSL - Domain-Specifc Language
Facade Interpreter Strategy DSL - Domain-Specifc Language DDD - Domain-Driven Design Exemplos de DSL Tipos de DSL 26 de março de 2017
3
Agenda Conclusões e Trabalhos Futuros
Aplicando Padrões de Projeto no Desenvolvimento de DSL Domínio Modelo Aplicando padrões de Projeto Aspectos de Implementação DSL e os Padrões de Projeto Facade Interpreter Strategy Conclusões e Trabalhos Futuros 26 de março de 2017
4
Introdução Motivação Objetivo Implementação de uma DSL;
Utilização de Padrões de Projeto. Objetivo Aplicar e analisar a utilização de Padrões de Projeto na construção de uma ferramenta que implementa DSL. 26 de março de 2017
5
Padrões de Projeto “Cada padrão descreve um problema no nosso ambiente e o cerne da sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca fazê-lo da mesma maneira” (Alexander, 1979). Conceito: são descrições de boas soluções aplicadas recorrentemente para resolver problemas específicos. 26 de março de 2017
6
Padrões de Projeto Alguns Elementos Classificações Nome Problema
Solução Conseqüências Classificações Finalidade Criacionais, Comportamentais e Estruturais Escopo Objeto e Classe 26 de março de 2017
7
Padrão de Projeto Facade
Conceito: Fornece uma interface que unifica um conjunto de outras interfaces de um mesmo sistema. Motivações: Redução da complexidade, que torna o projeto livre de maiores dependências, minimizando as comunicações; Organização e controle; Facilita manutenção. 26 de março de 2017
8
Padrão de Projeto Facade
Figura 1 – Entendendo o padrão Façade (GAMMA et al., 2006, p. 179) 26 de março de 2017
9
Padrão de Projeto Interpreter
Conceito: “Dada uma linguagem, definir uma representação para a sua gramática juntamente com um interpretador que usa a representação para interpretar sentenças dessa linguagem” (GAMMA et al, 2006, p. 186). Motivações: Resolver problemas de mapeamento de expressões recorrentes onde os termos podem ser mapeados. 26 de março de 2017
10
Padrão de Projeto Interpreter
Figura 2 – Estrutura do Padrão Interpreter (GAMMA et al, 2006, p. 234) 26 de março de 2017
11
Padrão de Projeto Strategy
Conceito: define famílias de algoritmos e as torna passíveis de comunicação, permitindo que o algoritmo possa variar, independente dos clientes que o utilizam. Motivações: Quando é necessário permitir que o algoritmo que será executado possa ser escolhido em tempo de execução; Estratégia não utiliza herança como fator principal. 26 de março de 2017
12
Padrão de Projeto Strategy
Figura 3 – Estrutura do padrão Strategy (GAMMA et al, 2006, p. 294) 26 de março de 2017
13
DSL - Domain-Specific Languages
Desenvolvimento de Software mais próximo do cliente DDD - Domain-Driven Design Domínio Modelo DSL - Domain-Specific Language Tipos: Interna Externa 26 de março de 2017
14
DSL - Domain-Specific Languages
SQL Figura 3 – Exemplo de DSL Externa – SQL 26 de março de 2017
15
Aplicando Padrões de Projeto
Estudo de Caso: Aplicativo para recebimento de resultados de análises clínicas. Domínio: Laboratórios de Análises Clínicas. Modelo: Baseado em um diagrama de fluxo de dados. 26 de março de 2017
16
Aplicando Padrões de Projeto
Modelo: 26 de março de 2017 Figura 4 – Modelo do Estudo de Caso
17
Aplicando Padrões de Projeto
Padrão de Projeto Facade Motivações Complexidade nas instruções de leitura de arquivos; Número de funções utilizadas no processo; Objetivos Compreensão do perito do domínio; Manutenção do código; Regras de Negócio envolvidas; 26 de março de 2017
18
Aplicando Padrões de Projeto
Padrão de Projeto Interpreter SÍMBOLOS SIGNIFICADO -- Muito Abaixo do Normal - Abaixo do Normal Norm Normal + Acima do Normal ++ Muito Acima do Normal Tabela 1 – Exemplo de Aplicação do Padrão Interpreter 26 de março de 2017
19
Aplicando Padrões de Projeto
Padrão de Projeto Strategy Motivação Formas diferentes de salvar os arquivos tratados; Possibilidade de alteração em tempo de execução. Objetivo Tornar flexível a forma de geração dos arquivos. 26 de março de 2017
20
Aplicando Padrões de Projeto
Aspectos de Implementação DSL e a Linguagem de Programação Vantagens da utilização dos Padrões de Projeto Facade Necessidade de novos níveis de abstração Interpreter DSL Externas Utilização com cautela Strategy Flexibilidade Criação de níveis de Abstração 26 de março de 2017
21
Conclusões e Trabalhos Futuros
Necessidade de criação de Níveis de Abstração; Padrões de Projeto => Novos Níveis de Abstração; Flexibilidade de Desenvolvimento; Confiança sobre o código escrito. Trabalhos Futuros Análise comparativa de técnicas de desenvolvimento; Desenvolvimento de padrões mais específicos para DSL; Técnicas de construção de modelo do Domínio. 26 de março de 2017
22
OBRIGADO!!!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.