A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Projeto de Sistemas de Software

Apresentações semelhantes


Apresentação em tema: "Projeto de Sistemas de Software"— Transcrição da apresentação:

1 Projeto de Sistemas de Software
Padrões de Projeto: Prototype Equipe: Bruno Silva de Carvalho

2 Prototype Propósito do padrão:
Especificar os tipos de objetos a serem criados usando uma instância protótipo e criar novos objetos pela cópia deste protótipo.

3 Prototype Motivação: Role-playing game; Aplicativos gráficos; Outros.

4 Prototype Aplicabilidade:
Quando o sistema não depende de como seus objetos são criados; Quando as classes a instanciar são especificadas em tempo de execução; Quando é mais conveniente instalar um número de protótipos e cloná-los do que instanciar manualmente um em cada estado.

5 Prototype Estrutura:

6 Prototype Participantes: Prototype;
Declara uma interface para clonar a si próprio. ConcretePrototype; Implementa uma operação para clonar a si próprio. Client. Cria um novo objeto solicitando a um protótipo que clone a si próprio.

7 Prototype Colaborações:
Um cliente solicita a um protótipo que este clone a si próprio.

8 Prototype Conseqüências:
Acrescenta e remove produtos em tempo de execução; Especifica objetos novos pela variação de valores; Reduz o número de subclasses; Obriga cada subclasse de Prototype implementar o método clone.

9 Prototype Exemplos de código: public interface AddressClone {
public Object clone(); }

10 Prototype Exemplos de código:
public class Address implements AddressClone{ private String type, street, city, state, zipCode; public Address(String initType, String initStreet, String initCity, String initState, String initZip){ type = initType; street = initStreet; city = initCity; state = initState; zipCode = initZip; } public Address() {} public Object clone(){ return new Address(type, street, city, state, zipCode); public String toString(){...}

11 Prototype Exemplos de código: public class RunPrototype {
public static void main(String[] args) { System.out.println("Exemplo do padrão Prototype."); System.out.println("Este exemplo vai criar um objeto endereço"); System.out.println("e depois duplica-lo com o método clone."); System.out.println("Criando primeiro endereço:"); Address address1 = new Address("Casa", "Avenida das Américas", "Rio de Janeiro", "RJ", " "); System.out.println("Primeiro endereço criado."); System.out.println("Hash code 1 = " + address1.hashCode()); System.out.println(address1.toString()); System.out.println("Criando segundo endereço e usando o método clone:"); Address address2 = (Address)address1.clone(); System.out.println("Segundo endereço criado."); System.out.println("Hash code 2 = " + address2.hashCode()); System.out.println(address2.toString()); }

12 Prototype Exemplos de código: Exemplo do padrão Prototype.
Este exemplo vai criar um objeto endereço e depois duplica-lo com o método clone. Criando primeiro endereço: Primeiro endereço criado. Hash code 1 = Avenida das Américas, Rio de Janeiro, RJ, Criando segundo endereço e usando o método clone: Segundo endereço criado. Hash code 2 =


Carregar ppt "Projeto de Sistemas de Software"

Apresentações semelhantes


Anúncios Google