SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Eduardo Manuel de  Freitas Jorge [email_address] Reutilização sobre a ótica  de  Framework  e Padrões de Projeto
Tópicos Abordados ,[object Object],[object Object],[object Object]
Contexto  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O objetivo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivação  ,[object Object],[object Object],[object Object]
Reutilização no Paradigma Funcional e Orientado a Objetos
Como  alcançar reutilização  no  Paradigma Funcional?
Reutilização no Paradigma Funcional ,[object Object],[object Object],[object Object]
Como  alcançar reutilização  no  Paradigma OO?
Reutilização no Paradigma OO ,[object Object],[object Object],[object Object]
Reutilização no Paradigma OO ,[object Object],[object Object],[object Object],[object Object],Programa Funções Dados Classe Métodos Atributos P. Funcional P. O. O. Objeto Estado Métodos
Reutilização no Paradigma OO:Objeto ,[object Object],[object Object],[object Object]
Reutilização no Paradigma OO: Classe ,[object Object],[object Object]
Reutilização no Paradigma OO:Herança ,[object Object],[object Object],[object Object],[object Object]
Exemplo de Utilização de Herança
Exemplo de Erro na Utilização de Herança ,[object Object]
Reutilização no Paradigma OO:  Conceito de Componente ,[object Object],[object Object],[object Object],Interface Publica
Reutilização no Paradigma OO:  Conceito de Componente ,[object Object],[object Object],[object Object],[object Object]
Reutilização no Paradigma OO: Componente ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reutilização no Paradigma OO: Ferramenta RAD
[object Object],[object Object],[object Object],Reutilização no Paradigma OO: Componente Tela
Reutilização no Paradigma OO: Componente Subsistema 01 Subsistema 02 Subsistema 03 Acoplamento fraco Acoplamento fraco
Resumo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reutilização  ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Framework: Introdução
Framework:  Definições ,[object Object],[object Object]
Framework:  Estrutura ,[object Object],[object Object],Framework Extensão Aplicação
Framework:Hot-Spots ,[object Object],FRAMEWORK APLICAÇÃO 1 APLICAÇÃO 2
Framework:  Estrutura Framework
Framework X Biblioteca de Classes ,[object Object],[object Object],[object Object],[object Object]
Framework – Princ. de Hollywood ,[object Object],[LAN 1995] Framework Biblioteca Código feito pelo  desenvolvedor Chamadas Chamadas
Um Processo Voltado para o Desenvolvimento de Framework Orientado a Objeto ,[object Object],[object Object],[object Object],[object Object],1.Análise de Domínio 2. Captura de Requisitos e Análise 3. Projeto do Framework Implementação do Framework Testes Análise da Aplicação Projeto da Aplicação Implementação da Aplicação Análise Projeto
Um Processo Voltado para o Desenvolvimento de Framework Orientado a Objeto ,[object Object],[LAN 1995]
Framework:  Classificação e Tipos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Qual o tipo de reutilização alcançada com Framework?
Framework:  Reutilização ,[object Object],[object Object],[object Object],[object Object],[object Object]
Quais as desvantagens da utilização de um Framework?
Desvantagens na utilização de Framework ,[object Object],[object Object],[object Object]
Como tornar projetos mais reutilizáveis, com menos acoplamento e com um maior nível de reutilização?  Tarefa para desenvolvedores experientes
Padrões de Projeto ,[object Object]
Padrões de Projeto: Histórico ,[object Object],[object Object],[object Object]
Padrões de Projeto: Histórico ,[object Object],[object Object],[object Object]
Padrões de Projeto: Aplicado em Outras Áreas ,[object Object]
Padrões de Projetos mais Comuns em um projeto de um Framework ,[object Object],[object Object],[object Object]
Padrões Usados em Arquitetura JEE ,[object Object],[object Object],[object Object],[object Object]
Padrões Usados em Arquitetura JEE ,[object Object],[object Object],[object Object],[object Object],[object Object]
Padrões Usados em Arquitetura JEE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Vantagens na Utilização de Padrões de Projeto ,[object Object],[object Object],[object Object]
Pergunta Final:  Como programar rápido pensando na aplicação de padrões de projeto, na geração de uma aplicação reutilizável e com baixo acoplamento?
Refatoramento
Fim
Referencias  Bibliográficas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Portais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de ConteudoPortais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de ConteudoRicardo Martins Neves
 
BRAVA - Desenvolvimento Portais Liferay
BRAVA - Desenvolvimento Portais LiferayBRAVA - Desenvolvimento Portais Liferay
BRAVA - Desenvolvimento Portais LiferayBRAVA Tecnologia
 
Ai1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-aAi1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-aDuarte Gomes
 
[Cloud Summit 2010] Francisco Gioielli - Google Apps
[Cloud Summit 2010] Francisco Gioielli - Google Apps[Cloud Summit 2010] Francisco Gioielli - Google Apps
[Cloud Summit 2010] Francisco Gioielli - Google AppsTecla Internet
 
Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6SEA Tecnologia
 
Web 2.0
Web 2.0Web 2.0
Web 2.0maxii
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
Web 1.0 vs web 2.0
Web 1.0 vs web 2.0Web 1.0 vs web 2.0
Web 1.0 vs web 2.0Caetano7
 
web 2.0 - A Internet VIVA!
web 2.0 - A Internet VIVA!web 2.0 - A Internet VIVA!
web 2.0 - A Internet VIVA!nrtejacarei
 

Mais procurados (14)

Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Rich Internet Applications
Rich Internet ApplicationsRich Internet Applications
Rich Internet Applications
 
Portais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de ConteudoPortais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de Conteudo
 
BRAVA - Desenvolvimento Portais Liferay
BRAVA - Desenvolvimento Portais LiferayBRAVA - Desenvolvimento Portais Liferay
BRAVA - Desenvolvimento Portais Liferay
 
Ai1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-aAi1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-a
 
[Cloud Summit 2010] Francisco Gioielli - Google Apps
[Cloud Summit 2010] Francisco Gioielli - Google Apps[Cloud Summit 2010] Francisco Gioielli - Google Apps
[Cloud Summit 2010] Francisco Gioielli - Google Apps
 
Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6Roadshow Brasília Novas funcionalidades Liferay 6
Roadshow Brasília Novas funcionalidades Liferay 6
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
Web 1.0 vs web 2.0
Web 1.0 vs web 2.0Web 1.0 vs web 2.0
Web 1.0 vs web 2.0
 
Widgets
WidgetsWidgets
Widgets
 
Estudos De Web 2 0
Estudos De Web 2 0Estudos De Web 2 0
Estudos De Web 2 0
 
web 2.0 - A Internet VIVA!
web 2.0 - A Internet VIVA!web 2.0 - A Internet VIVA!
web 2.0 - A Internet VIVA!
 

Semelhante a Reutilização

Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Adriano Teixeira de Souza
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareThomas Kanzig
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Reuso de software
Reuso de softwareReuso de software
Reuso de softwarerebekinha
 
Implementing Product Line Variabilities
Implementing Product Line VariabilitiesImplementing Product Line Variabilities
Implementing Product Line VariabilitiesMichel Alves
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Dru - Desenvolvimento para Reuso
Dru - Desenvolvimento para ReusoDru - Desenvolvimento para Reuso
Dru - Desenvolvimento para ReusoJuliana Cindra
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) Grupo Treinar
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 

Semelhante a Reutilização (20)

Reuso desw
Reuso deswReuso desw
Reuso desw
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
RAD
RADRAD
RAD
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Implementing Product Line Variabilities
Implementing Product Line VariabilitiesImplementing Product Line Variabilities
Implementing Product Line Variabilities
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Dru - Desenvolvimento para Reuso
Dru - Desenvolvimento para ReusoDru - Desenvolvimento para Reuso
Dru - Desenvolvimento para Reuso
 
Desenvolvimento baseado em componentes
Desenvolvimento baseado em componentesDesenvolvimento baseado em componentes
Desenvolvimento baseado em componentes
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
FDD
FDDFDD
FDD
 

Reutilização