Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal

Tamanho: px
Começar a partir da página:

Download "Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal"

Transcrição

1 Padrões de Projeto Prof. Alexandre Vidal DEINF-UFMA Fevereiro de 2007

2 Singleton (padrão de criação) intenção: garantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso para essa instância.

3 Singleton (padrão de criação) motivação: muitas impressoras precisam de um único spooler; sistemas normalmente únicos: um sistema de arquivos; um sistema gerrenciador de janelas.

4 Singleton (padrão de criação) aplicabilidade (quando usar o padrão): quando deve existir uma única instância de uma classe e o acesso à essa instância deve ser através de um ponto bem conhecido; quando for necessário estender a única instância de uma classe.

5 Singleton (padrão de criação) Estrutura

6 Singleton (padrão de criação) Participantes Singleton: define uma operação static instance() que permite aos clientes acessarem sua únic instância; pode ser responsável pela criação de sua própria instância única.

7 Singleton (padrão de criação) Colaborações os clientes acessam uma instância Singleton apenas através daoperação instance() do Singleton.

8 Singleton (padrão de criação) Conseqüências acesso controlado à instância única; redução do espaço de nomes (menos variáveis globais para armazenar instâncias únicas); permite um número variável de instâncias (alterando o padrão para controlar esse número);

9 Singleton (padrão de criação) declaração da classe Singleton class Singleton{ public: static Singleton* instance(); protected: Singleton(); private: static Singleton* _instance; }

10 Singleton (padrão de criação) Implementação da classe Singleton Singleton* Singleton::_instance = 0; Singleton* Singleton::instance() { } if (_instance == 0) _instance = new Singleton; } return _instance;

11 Singleton (padrão de criação) usos conhecidos ver página 136 no GoF (traduzido); Padrões Relacionados Abstract Factory; Builder; Prototype.

12 intenção: fornecer um substituto de outro objeto para controlar o acesso ao mesmo. a.k.a.: Surrogate

13 motivação: adiar o custo da criação integral e inicialização de um objeto até o momento necessário. por exemplo, criação de objetos gráficos, tais como grandes imagens.

14 aplicabilidade: remote proxy: representante local para um objeto remoto acesso a remote dbms, CORBA; virtual proxy: cria objetos caros sob demanda image proxy; protection proxy: controla o acesso para o objeto original; smart reference: adiciona operações sobre um pointer garbage collection (controle do número de referências); verifica se o objeto real está bloqueado antes de ser acessado.

15 Estrutura

16 Participantes Proxy: mantém uma referência para o objeto real; fornece interfce idêntica a de Subject; controla o acesso ao objeto real; pode ser responsável pela criação ou exclusão do objeto real; remote proxies: codificam e enviam uma solicitação para um objeto real em outro espaço de endereçamento; virtual proxies: podem manter cache sobreo objeto real para postergar o acesso ao mesmo; protection proxies: verificam permissões de acesso do solicitante.

17 Participantes Subject: define uma interface comum para RealSubject e Proxy; RealSubject: define o objeto real representado pelo proxy.

18 Colaborações o Proxy pode, quando apropriado, repassar solicitações para o RealSubject.

19 Conseqüências um proxy remoto pode ocultar o fato que um objeto reside em um espaço de enderaçamento diferente; um proxy virtual pode implementar otimizações, como criação de um objeto sob demanda;

20 Implementação (aspectos) sobrecarga do operador de acesso a membros em C++; o proxy só precisa conhecer o objeto real se vão instanciá-los. Caso contrário, podem tratar todas as classes Realsubject de maneira uniforme.

21 exemplo de código (java) public class ProxyDisplay extends JxFrame { public ProxyDisplay() { super("display proxied image"); JPanel p = new JPanel(); getcontentpane().add(p); p.setlayout(new BorderLayout()); ImageProxy image = new ImageProxy("elliott.jpg",321, 271); p.add("center", image); p.add("north", new Label(" ")); p.add("west", new Label(" ")); setsize(370, 350); setvisible(true); }

22 exemplo de código (java) public class ImageProxy extends JPanel{... public void paint(graphics g) { if (tracker.checkid(0)) { g.drawimage(img, 0, 0, this);//draw loaded image } else {//draw box outlining image if not loaded yet g.setcolor(color.black); g.drawrect(1, 1, width-2, height-2); } } }

23 usos conhecidos ver página 207 no GoF (traduzido); Padrões Relacionados Adapter; Decorator; Proxy.

INF011 Padrões de Projeto. 15 Proxy

INF011 Padrões de Projeto. 15 Proxy INF011 Padrões de Projeto 15 Proxy Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação Tecnológica

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

Structural Patterns - Proxy

Structural Patterns - Proxy Prover um controle de acesso para determinados objetos, de tal maneira que estes objetos estejam protegidos ou subordinados ao objeto proxy. A idéia é que o objeto produto seja acessível pela aplicação

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 06 Padrões GoF (Factory Method e Abstract Factory) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 11 Padrões GoF (Bridge e Decorator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 10 Padrões GoF (Protoype e Façade) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Profa. Thienne Johnson

Profa. Thienne Johnson Profa. Thienne Johnson 1 E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. Addison- Wesley, 1995. Conhecido como GoF (Gang of Four)

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 05 Padrões GoF (Singleton e Iterator) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype

Leia mais

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) e Adapter Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé) O que vimos na última aula? Factory Method Abstract Factory 2 O que veremos hoje? (padrão de criaçã) Adapter

Leia mais

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem

Leia mais

Lista de Exercícios Para a P2

Lista de Exercícios Para a P2 Técnicas de Projeto e Implementação de Sistemas I Lista de Exercícios Para a P2 1. Explique o conceito de padrões de projeto e o diferencie dos Frameworks e APIs. 2. Explique o conceito de composição em

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 09 Padrões GoF (Adapter e Composite) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

" ##$#$!% # & #$#$ !!!!"!

 ##$#$!% # & #$#$ !!!!! " ##$#$!% # & #$#$ Abstract Factory, Builder, Singleton, Factory Method, Prototype, Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of Responsability, Command, Interpreter, Iterator,

Leia mais

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Padrões Um padrão de é uma maneira de documentar uma solução conhecida para um problema usualmente encontrado O objetivo do padrão é permitir que boas soluções sejam reutilizadas em diferentes projetos

Leia mais

Programação Orientada a Objetos. Padrões Estruturais

Programação Orientada a Objetos. Padrões Estruturais Programação Orientada a Objetos Padrões Estruturais Cristiano Lehrer, M.Sc. Classificação dos Padrões de Projeto Propósito o que o padrão faz: Padrões de criação: abstraem o processo de criação de objetos

Leia mais

Padrões de Projeto. Factory Method

Padrões de Projeto. Factory Method Padrões de Projeto Padrões de Criação Factory Method Prof. Eduardo N F Zagari Prof. Ivan Granja Factory Method Também conhecido como Construtor Virtual Em muitas aplicações OO, um objeto cliente precisa

Leia mais

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico

Tópicos da Aula. POO e Padrões de Projetos. Considere três classes... Reuso de Classes. Locadora de DVD. Sistema Acadêmico Reuso de Software Aula 03 Tópicos da Aula POO e Padrões de Projetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 12 Março 2012 Programação orientada a objetos Reuso de

Leia mais

Design Patterns (Factory Method, Prototype, Singleton)

Design Patterns (Factory Method, Prototype, Singleton) DesignPatterns (FactoryMethod,Prototype,Singleton) JoãoAntónioPaz LuísMiguelClaro AlbertoManuelGomes N.º12812 N.º12817 N.º12818 FACTORYMETHOD Padrãoquedefineumainterfaceparacriaçãodeobjectos,masdeixaassubclassesdecidirque

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... } Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação

Leia mais

Programação com Objectos. 2º Teste 2015/2016 1º Semestre

Programação com Objectos. 2º Teste 2015/2016 1º Semestre 1/7 2015/2016 1º Semestre 13 de Janeiro de 2016, 18:30 (120 minutos) 2º Teste Nome: Número: Primeira Parte (3 valores) PERGUNTA RESPOSTA Segunda Parte (7 valores) PERGUNTA 1.1 2.1 1.2 2.2.1 1.3 2.2.2 1.4

Leia mais

Vamos imaginar que queremos projetar um jogo em que haja diferentes personagens:

Vamos imaginar que queremos projetar um jogo em que haja diferentes personagens: Interfaces Interfaces Interfaces padronizam como coisas, pessoas ou sistemas podem interagir Por exemplo, os controles de um rádio: interface entre o usuário e os componentes internos do rádio Interfaces

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 08 Padrões GoF (Observer e Builder) Edirlei Soares de Lima Padrões GoF Criação: Abstract Factory Builder Factory Method Prototype Singleton

Leia mais

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch Switch A estrutura if de seleção única, a estrutura if / else de seleção dupla. Outra maneira de indicar uma condição é através de uma declaração switch. A construção switch permite que uma única variável

Leia mais

Padrões Fábrica. Simple Factory Factory Method

Padrões Fábrica. Simple Factory Factory Method Universidade Federal de Uberlândia Faculdade de Computação Disciplina: POO2 Prof. Fabiano Azevedo Dorça Padrões Fábrica Simple Factory Padrões Fábrica Padrão Simple Factory: fornece interfaces para criar

Leia mais

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA INFORMÁTICA BÁSICA Conceitos c++ Prof. Demétrios Coutinho C a m p u s P a u d o s F e r r o s D i s c i p l i n a d e O r g a n i z a ç ã o d e A l g o r i t m o s D e m e t r i o s. c o u t i n h o @

Leia mais

Programação Orientada a Objeto Java

Programação Orientada a Objeto Java Programação Orientada a Objeto Java Aula 2 Introdução a Programação Java Sintaxe da Linguagem e Principais Conceitos Profª Kelly Christine C. Silva Sumário Construção do programa Saída de dados Entrada

Leia mais

PADI 2014/15. Aula 3.Net Remoting

PADI 2014/15. Aula 3.Net Remoting PADI 2014/15 Aula 3.Net Remoting Sumário 1..Net Remoting .NET Remoting Comunicação entre aplicações Permite invocar métodos em objectos remotos Qualquer objecto pode ser usado remotamente Objectos remotos

Leia mais

Padrões de Desenho. Padrões de Desenho

Padrões de Desenho. Padrões de Desenho Padrões de Desenho Motivação inicial trabalho do arquitecto Christopher Alexander A Pattern Language publicado em 1997 Descreveu o uso de padrões em edifícios e áreas urbanas Definiu o conceito de padrão

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Objetos e Classes Programação Orientada ao Objeto O paradigma da Orientação ao Objeto é um mecanismo que ajuda a definir

Leia mais

Singleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo:

Singleton. Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo: Introdução Como a maioria dos programadores organizaria o código para acessar informação de configuração? Eis um exemplo: public class Config { public static final String DEFAULT_READ_COMMUNITY_NAME =

Leia mais

Capítulo 4 - Polimorfismo

Capítulo 4 - Polimorfismo Capítulo 4 - Polimorfismo 1. POLIMORFISMO: VAMOS NOS ADAPTAR... 1 1.1 APRENDENDO A PREVER O FUTURO... 1 1.2 O QUE É POLIMORFISMO... 1 1.3 TIPOS DE POLIMORFISMO... 4 1.4 PERGUNTAS - EXERCÍCIO... 5 1. Polimorfismo:

Leia mais

LINGUAGEM JAVA - RESUMO

LINGUAGEM JAVA - RESUMO LINGUAGEM JAVA - RESUMO 1.1. Estrutura Geral de um Programa 1. ESTRUTURAS BÁSICAS public class nome do programa public static void main(string[] args) instruções do programa 1.2. Tipos Primitivos de Dados

Leia mais

Abstract Factory. Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas

Abstract Factory. Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Objetivo Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Também chamado de Kit Resumo Parece semelhante ao padrão Factory Method,

Leia mais

ção a Objetos em Java

ção a Objetos em Java Uso de Orientaçã ção a Objetos em Java Objetos e Mensagens Objetos em Java Principais classes Containers Um pouco de história... Variáveis como elementos isolados int dia, mes, ano; Fácil compreensão,

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

Padrões de Projeto. Intenção: Observer. Motivação: Motivação:

Padrões de Projeto. Intenção: Observer. Motivação: Motivação: Tópic os Avançados em Linguagem de Programação Padrões de Projeto Observer Prof. Alexandre Vidal Intenção: define uma dependência um-para-muitos entre objetos, de modo que, se um objeto sofre uma modificação

Leia mais

Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads.

Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções

Leia mais

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads Com o conceito de múltiplos threads (multithread) é possível

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

Padrões de Projeto. Factory Method

Padrões de Projeto. Factory Method Tópicos Avançados em Linguagem de Programação Padrões de Projeto Prof. Alexandre Vidal DEINF-UFMA Classificação: Propósito: Criacional Escopo: Objetos Intenção: Construção Intenção: define uma interface

Leia mais

NORMA TÉCNICA E PROCEDIMENTOS PARA REALIZAR ALTERAÇÕES NO BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA E PROCEDIMENTOS PARA REALIZAR ALTERAÇÕES NO BANCO DE DADOS CORPORATIVO NORMA TÉCNICA E PROCEDIMENTOS PARA REALIZAR ALTERAÇÕES NO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.03.01 http://www.unesp.br/ai/pdf/nt-ai.04.03.01.pdf Data: 31/07/2000 STATUS: EM VIGOR A Assessoria

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float.

Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float. 1 - Tipos de Dados em Java Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float. a. Boolean Um dado boolean poderá assumir somente dois valores: true

Leia mais

Refatoração Melhorando o sistema e preparando pra a Web

Refatoração Melhorando o sistema e preparando pra a Web POO Programação Orientada a Objetos Refatoração Melhorando o sistema e preparando pra a Web Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 Refatoração Uma prática bastante comum e difundida

Leia mais

Criação de métodos em Java

Criação de métodos em Java 1. Objetivos Criação de métodos em Java Identifica os principais tipos de métodos usados em Java; Levar o leitor a compreender as vantagens de uso dos métodos; Introduzir o conceito de modularidade a partir

Leia mais

Programação Orientada a Objetos. Padrões de Projeto

Programação Orientada a Objetos. Padrões de Projeto Programação Orientada a Objetos Padrões de Projeto 1 Contexto Desenvolver sistemas reutilizáveis é difícil porque deve-se procurar por: Uma boa decomposição do problema e a abstração correta. Flexibilidade,

Leia mais

Padrão de projeto de software

Padrão de projeto de software Padrão de projeto de software Paulo Venancio Lopes e Daniel Sguillaro Nome Roupa Suja Se Lava Em Casa. Intenção Dar maior capacidade e flexibilidade ao conceito de entidade (no contexto de persitência

Leia mais

Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal

Padrões de Projeto. T ó p i c o s A v a n ç a d o s e m L i n g u a g e m d e P r o g r a m a ç ã o. Prof. Alexandre Vidal Padrões de Projeto Prof. Alexandre Vidal DEINF-UFMA Fevereiro de 2007 Adapter (padrão estrutural) intenção: converter a interface de uma classe em uma outra interface esperada por um cliente; o padrão

Leia mais

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1. 9ª LISTA DE EXERCÍCIOS INTERFACES GRÁFICAS DE USUÁRIO Disciplina: PC-II Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1. Figura 1.1: Primeira

Leia mais

Desenvolvimento guiado por testes e ferramentas xunit

Desenvolvimento guiado por testes e ferramentas xunit Desenvolvimento guiado por testes e ferramentas xunit Carlos Eduardo Santin Disciplina de Engenharia de Software Universidade Federal do Rio Grande do Sul - UFRGS 1 de Maio de 2006 Roteiro 1 Teste de Software

Leia mais

Padrões de Design. Padrões de Design. Abstract Factory. Padrões de Design. Padrões de Design Abstract Factory. Abstract Factory.

Padrões de Design. Padrões de Design. Abstract Factory. Padrões de Design. Padrões de Design Abstract Factory. Abstract Factory. Escopo Classe Objeto Finalidade Criação Estrutural Comportamental Factory Method Interperter Abstract Factory Builder Prototype Bridge Composite Facade Flyweight Proxy Chain of Responsibility Command Iterator

Leia mais

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26

Sistemas de Objetos DistribuídosRevisão Java e Java ORBs p.1/26 Sistemas de Objetos Distribuídos Revisão Java e Java ORBs Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosRevisão Java e

Leia mais

Tópicos Avançados em Linguagem de Programação. Builder. Builder. Builder. Classificação: Padrões de Projeto. Builder Pattern.

Tópicos Avançados em Linguagem de Programação. Builder. Builder. Builder. Classificação: Padrões de Projeto. Builder Pattern. Tópicos Avançados em Linguagem de Programação Padrões de Projeto Pattern Prof. Alexandre Vidal DEINF-UFMA Classificação: Propósito: Criacional / Escopo: Objetos Padrão de Construção (intenção/metsker)

Leia mais

Iterator. Professor: Hyggo Almeida

Iterator. Professor: Hyggo Almeida Professor: Hyggo Almeida Utilização de estruturas de dados Vector, ArrayList, HashSet,... Vector collection; public void classexusando(vector col){... ArrayList collection; public void classewusando(arraylist

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Tipos de dados estruturados Tipos estruturados vectores matrizes Estruturas (registos) Vectores e matrizes são estruturas homogéneas. Uma estrutura homogénea é uma sequência linear de elementos de mesmo

Leia mais

Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros...

Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros... Padrões GoF Strategy, Observer, Singleton, Abstract Factory e outros... SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 1 Mais Padrões GoF Strategy Observer

Leia mais

Padrões de Projeto de Software

Padrões de Projeto de Software Padrões de Projeto de Software Lista de Exercícios AV2-01 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Qual o objetivo dos padrões Comportamentais, segundo o catálogo GOF? Questão 1 Resposta

Leia mais

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA 2º Teste 2012/2013 1º Semestre 201301171830 1/7 2º Teste 2012/2013 1º Semestre 17 de Janeiro de 2013, 11:30 (120 minutos) Nome: Número: Primeira Parte (7 valores) PERGUNTA NOTA 1.1.1 1.1.2 1.1.3 1.2 1.3

Leia mais

MANUAL DO SISTEMA TRT-5 PRESTADOR MÉDICO

MANUAL DO SISTEMA TRT-5 PRESTADOR MÉDICO Tribunal Regional do Trabalho 5ª Região MANUAL DO SISTEMA TRT-5 PRESTADOR MÉDICO Manual do Sistema TRT5-Saúde para Prestador Médico Baseado no modelo fornecido pelo TST-SAÙDE Versão 1.0 7/outubro/2014

Leia mais

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código

SUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código SUMÁRIO INTRODUÇÃO O processo de software.......21 0.1 INTRODUÇÃO AO PROCESSO DE SOFTWARE.21 0.1.1 As fases do processo de software.....21 0.1.2 Estilos do processo de software.......22 0.1.3 Procedimentos

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Projeto e Implementação Padrões de Projeto Msc. Carlos Mar 04/2014 REVISÃO: ORIENTAÇÃO A OBJETOS Msc. Carlos Mar - Abr/2014 Conceitos Fundamentais Classe Objeto Atributos Métodos

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança Prof. Francisco de Assis S. Santos, Dr. São José, 2014. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos Novas classes

Leia mais

Informativo de Versão 19.10

Informativo de Versão 19.10 Informativo de Versão 19.10 Índice Compras... 2 Solicitação de Compras de Produtos (Chamado 28228)... 2 ERP Faturamento... 3 Máscara de Telefone (Chamado 28025)... 3 Digitação / Emissão NF-e de Exportação

Leia mais

Tipos Abstratos de Dados (TAD)

Tipos Abstratos de Dados (TAD) Instituto de C Tipos Abstratos de Dados (TAD) Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Módulos e Compilação em separado

Leia mais

Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.

Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla. Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado

Leia mais

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans Roteiro Introdução Conceitos de Oientação a Objetos A Linguagem Java NetBeans (www.netbeans.org) Fernando Vieira Paulovich paulovic@icmc.usp.br

Leia mais

Como tratar eventos - A interface ActionListener e o método actionperformed

Como tratar eventos - A interface ActionListener e o método actionperformed Se você parar para reparar, um aplicativo gráfico é como se fosse como um cardápio de um restaurante. Você chega, faz seus pedidos e suas ordens são atendidas. Cada pessoa vai fazer pedidos diferentes,

Leia mais

Modulo II Padrões GRASP

Modulo II Padrões GRASP Modulo II Padrões GRASP Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Padrões de Projeto

Leia mais

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão

Arquitetura TCP/IP. Apresentado por: Ricardo Quintão Arquitetura TCP/IP Apresentado por: Ricardo Quintão Roteiro Conexões Inter-redes Serviço Universal Rede Virtual (inter-rede ou internet) Protocolos para ligação inter-redes (TCP/IP) Divisão em camadas

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução ao Desenvolvimento

Leia mais

Etapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto

Etapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto Etapas principais do desenvolvimento de software Padrões arquiteturais Padrões de projeto 1 Criar aplicações não é apenas escrever código (code and fix) Atualmente as aplicações exigem arquiteturas e código

Leia mais

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO002 Engenharia de Software

Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO002 Engenharia de Software UNIFEI Disciplina Professor Universidade Federal de Itajubá Instituto de Engenharia de Sistemas e Tecnologias da Informação-IESTI CCO002 Engenharia de Software Enzo Seraphim 1 Padrões de Construção A maneira

Leia mais

BC-0505 Processamento da Informação

BC-0505 Processamento da Informação BC-0505 Processamento da Informação 0.Declarar Variáveis/ Atributos (Armazenar Dados) 1.Entrada de Dados (Obter dados = Leitura) double raio = 0; double area = 0; double PI = 3.14159; 2.Processamento (=

Leia mais

Aplicativo da Cultura

Aplicativo da Cultura Aplicativo da Cultura Instruções de Uso 1. Como definir um usuário administrador. É considerado um usuário administrador aquele que possui algumas permissões especiais. Apesar disso, ele não poderá incluir

Leia mais

Reader e Writer para streams de caracteres (texto).

Reader e Writer para streams de caracteres (texto). Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo

Leia mais

Isto não é exequível!... B[8][6] A[10] Slides_Java_4

Isto não é exequível!... B[8][6] A[10] Slides_Java_4 A[10] B[8][6] Slides_Java_4 Sistemas Informáticos I 2005-2006 Imaginemos que é necessário escrever um programa que: leia uma lista de 50 alunos e as respectivas notas. calcule a nota média. escreva a diferença

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

Anexo III. Pesquisa de satisfação

Anexo III. Pesquisa de satisfação Anexo III Pesquisa de satisfação Elaboração do Plano Diretor de Tecnologia da Informação PDTI 2014-2016 Página 1 de 7 1. Introdução Em maio de 2015 a ANVISA iniciou o processo formal de planejamento da

Leia mais

Sistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21

Sistemas de Objetos DistribuídosPrimeira Aplicação Java ORB p.1/21 Sistemas de Objetos Distribuídos Primeira Aplicação Java ORB Francisco José da Silva e Silva Departamento de Informática da Universidade Federal do Maranhão Sistemas de Objetos DistribuídosPrimeira Aplicação

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas 11.2 INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada

Leia mais

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes. JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta

Leia mais

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis

Leia mais

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre

Leia mais

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual Aula 09 Objetivo Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual Banco de Dados 1. Crie um novo projeto

Leia mais

Criando interfaces com o usuário. Continuação

Criando interfaces com o usuário. Continuação Criando interfaces com o usuário Continuação A diferença básica entre um objeto Window e um objeto JFrame é que o JFrame representa a janela principal de uma aplicação e o Window apenas uma janela a mais.

Leia mais

3º Trabalho de GI Análise DFD

3º Trabalho de GI Análise DFD 3º Trabalho de GI Análise DFD Problemas típicos da organização Diálogo com o exterior Mestrado de Gestão da Ciência, Tecnologia e Inovação 2000/2001 Cadeira : Prof.: GI-Gestão da Informação Luis Manuel

Leia mais

Módulo III Padrões GOF

Módulo III Padrões GOF Módulo III Padrões GOF Professores Eduardo Bezerra edubezerra@gmail.com Ismael H F Santos ismael@tecgraf.puc-rio.br April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Introdução aos

Leia mais

DEVF IT Solutions. Gerenciador de Log. Documento Visão. Versão 2.0. Projeto Integrador 2015/2 Engenharia de Software

DEVF IT Solutions. Gerenciador de Log. Documento Visão. Versão 2.0. Projeto Integrador 2015/2 Engenharia de Software 1 Gerenciador de Log Documento Visão Versão 2.0 2 Índice 1. Histórico de Revisões...3 2. Objetivo do Documento...4 3. Sobre o Problema...4 4. Sobre o produto...4 4.1. Descrição Geral sobre o produto...4

Leia mais

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos 1. Para a construção de uma aplicação gráfica se faz necessário conceber a interface de aplicação, identificando-se

Leia mais

AULA 3 Alocação dinâmica de memória: Ponteiros

AULA 3 Alocação dinâmica de memória: Ponteiros UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 3 Alocação dinâmica de memória: Ponteiros Estrutura de Dados 1 Variáveis X Ponteiros VARIÁVEL - Estrutura para armazenamento

Leia mais

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

Leia mais

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico Prof. Esp. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java/aulajava07a09.pptx Existe grande quantidade de funcionalidades

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Projeto de endereçamento 2 ClassLess Objetivo Conhecer o conceito de super-redes da arquitetura de endereçamento classless Entender os princípios de subdivisão, agregação e alocação

Leia mais

Sistemas Distribuídos Capítulo 4 - Aula 5

Sistemas Distribuídos Capítulo 4 - Aula 5 Sistemas Distribuídos Capítulo 4 - Aula 5 Aula Passada Clusters de Servidores Migração de Código Comunicação (Cap. 4) Aula de hoje Chamada de Procedimento Remoto - RPC Fundamentos 1 Chamada de Procedimento

Leia mais

Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204

Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204 Lista de Exercícios Nro. 1 Programação Orientada a Objetos - SCC204 Exercício 1: Descreva algumas diferenças básicas entre programação estruturada e programação orientada a objetos. Exercício 2: Para que

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Onde Estamos? Da Unidade III Classes e Objetos, já foram trabalhados

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: insira as propriedades escolhidas aqui FACULDADE DE TECNOLOGIA SENAC PELOTAS

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: insira as propriedades escolhidas aqui FACULDADE DE TECNOLOGIA SENAC PELOTAS JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: insira as propriedades escolhidas aqui FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Fabiano Nobre Mendes Identificação da Turma: ADS(Noturno) Data:

Leia mais