30
INTERFACE FLUENTE BRUNO BARRETO FREITAS FRANÇOES DA SILVA PEREIRA

Interface Fluente

Embed Size (px)

Citation preview

INTERFACE FLUENTE BRUNO BARRETO FREITAS

FRANÇOES DA SILVA PEREIRA

ÍNDICE

O Introdução.

O Interface Fluente.

O O que é isso?

O Pra que serve?

O Como eu uso isso?

O Programar Para um Ser Humano Entender.

O Por que fazer isso?

O Vantagens da Interface Fluente.

O Desvantagens da Interface Fluente.

ÍNDICE

O Exemplos de Código.

O Carro.

O Consulta SQL.

O Outros.

O Referencias.

INTRODUÇÃO

O Os primeiro programas de computador eram

instruções sequenciais difíceis de serem

compreendidas e que executavam tarefas

relativamente muito pequenas.

O Com a evolução do hardware o software

também teve que evoluir e crescer.

INTRODUÇÃO

O Os programas então cresceram em numero

de instruções, complexidade, e melhorou

ligeiramente a facilidade de compreensão

dos códigos escritos em uma linguagem

mais próxima a natural.

O Mas não parou por ai, novos paradigmas de

programação foram surgindo, e quando uma

“nova solução” aparece ela não esta só, ela

tem um irmão siamês; “o problema novo”.

INTRODUÇÃO

O E dos novos problemas que foram surgindo,

é claro, novas ideias foram aparecendo.

Então começam a surgir tipos de problemas

muito recorrentes.

O Para problemas recorrentes temos soluções

recorrentes. Os padrões de projeto. Aqui

iremos abordar uma dessas soluções para

problemas frequentes no desenvolvimento

de software, a Interface Fluente.

INTERFACE FLUENTE

O O que é?

O Interface Fluente é um padrão de desenvolvimento de software orientado a objetos, que faz parte da categoria de DSL’s internas.

O Uma DSL, em resumo, é uma linguagem de domínio especifico, criada para um proposito particular. Exemplos de DSL; HTML, expressões regulares, macros de planilhas eletrônicas, etc.

INTERFACE FLUENTE

O Pra que serve?

O Melhora a legibilidade dos códigos, tornando

o fluxo de execução mais simples e intuitivo.

O Torna o código menos extenso.

O Fornece maior flexibilidade ao código.

INTERFACE FLUENTE

O Como eu uso isso?

O Esse modelo de desenvolvimento baseia-se

no encadeamento dos métodos (Method

Chaining).

O Esse encadeamento é possível através da

transferência de contexto da instrução.

O Fazemos essa transferência de contexto

retornando uma referencia ao objeto que

realizou a primeira instrução.

INTERFACE FLUENTE

O Como eu uso isso?

O Pra isso eu crio uma interface onde nessa

interface todos os métodos retornam seu

próprio tipo.

INTERFACE FLUENTE

O Como eu uso isso?

O Para utilizar você fará chamadas como as

mostrada na imagem abaixo. Obs:

Desconsiderar números e strings mágicas.

PROGRAMAR PARA UM SER HUMANO ENTENDER

O Por que fazer isso?

O Primeiro porque pode melhorar a legibilidade

de seu código de uma forma simplesmente

assustadora.

O Não acredita veja os próximos exemplos;

PROGRAMAR PARA UM SER HUMANO ENTENDER O Sem Interface Fluente.

PROGRAMAR PARA UM SER HUMANO ENTENDER O Com Interface Fluente.

PROGRAMAR PARA UM SER HUMANO ENTENDER

O Vantagens da Interface Fluente.

O Reveja os dois slides anteriores. O primeiro

código é mais feio que parto de ouriço.

O Já o segundo código...

O Com interfaces Fluentes seu programa se

torna mais legível.

O O fluxo de chamadas de métodos parece

mais natural.

PROGRAMAR PARA UM SER HUMANO ENTENDER

O Vantagens da Interface Fluente.

O Sua lógica de negócios agora esta mais

visível no código para análise.

O TDD agora passa a ser algo mais intuitivo.

O Seu código se tornará mais flexível, aberto

para evolução e fechado para mudança.

PROGRAMAR PARA UM SER HUMANO ENTENDER

O Desvantagens da Interface Fluente.

O Realizar debug pode ser uma tarefa

complicada. O encadeamento de métodos

em uma única instrução dispara uma serie

de operações. Dificultando a inserção de

breakpoints em uma chamada especifica.

PROGRAMAR PARA UM SER HUMANO ENTENDER

O Desvantagens da Interface Fluente.

O O tratamento de exceções também pode ser

difícil caso o tipo não esteja bem

estruturado.

O Abusar do encadeamento pode deixar o

código estranho e acabará por complicar a

leitura ao invés de ajudar. Use com

parcimônia.

PROGRAMAR PARA UM SER HUMANO ENTENDER

O Desvantagens da Interface Fluente.

O Criar as interfaces de forma consistente é

difícil, não é um trabalho rápido.

O Os métodos soltos nas classes as vezes não

são tão intuitivos, pode ser difícil para

entender a responsabilidade de cada método

de forma isolada apenas pelo seu nome.

EXEMPLOS DE CÓDIGOS

O Carro.

EXEMPLOS DE CÓDIGOS

O Carro.

EXEMPLOS DE CÓDIGOS

O Carro.

EXEMPLOS DE CÓDIGOS

O Carro.

EXEMPLOS DE CÓDIGOS

O Consulta SQL.

EXEMPLOS DE CÓDIGOS

O Consulta SQL.

EXEMPLOS DE CÓDIGOS

O Outros.

EXEMPLOS DE CÓDIGOS

O Outros.

REFERENCIAS

O http://www.devmedia.com.br/interfaces-

fluentes-revista-net-magazine-95/24065

O http://tiagodev.wordpress.com/2010/12/2

0/sua-api-fala-interfaces-fluentes/

O http://www.jetbrains.com/mps/

O http://www.infoq.com/presentations/domai

n-specific-languages

REFERENCIAS

O http://gc.blog.br/2007/09/25/refatorando-

para-fluent-interface/

O http://codeflavor.wordpress.com/2010/09/

23/interface-fluente/

O http://archsofty.blogspot.com.br/2007/11/f

luent-interface.html

O http://en.wikipedia.org/wiki/Domain-

specific_language