DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Video: Adaptadores e Fábrica Concreta Parametrizada - Curso Design Patterns - Parte 48

Nesta aula, retornaremos ao cenário de criação de adaptadores para sistemas externos, transformando nossa fábrica parametrizada em uma que lê qual classe instanciar a partir de uma propriedade do sistema.

Tempo: 24'21''

Mini-Resumo: Esta é a décima segunda e última parte da sétima vídeo aula do curso de princípios de design e design patterns. Nesta aula, retornaremos ao cenário de criação de adaptadores para sistemas externos, transformando nossa fábrica parametrizada em uma que lê qual classe instanciar a partir de uma propriedade do sistema. 

Tecnologias Utilizadas: Java 6, NetBeans 6.5, Plugin UML para o NetBeans


Palavras chaves: Design Patterns, Padrões de Projeto, Princípios de Design, GOF




    4 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Fabiano Alves De Souza
Rodrigo, estou fazendo a implementação no Eclipse e tive dificuldade na implementação do arquivo project.properties.
Fiz de um modo alternativo mas não sei se é a solução correta. gostaria da sua opnião.

public class AdapterFactory {

private AccountingAdapter accountingAdapter;
private InventoryAdapter inventoryAdapter;
private static AdapterFactory adapterFactory = new AdapterFactory();

private AdapterFactory() {
try {
FileInputStream propertyFile = new FileInputStream( "project.properties");
Properties properties = new Properties(System.getProperties());
properties.load(propertyFile);

// set the system properties
System.setProperties(properties);
} catch (Exception e) {
e.printStackTrace();
}
}

public static AdapterFactory getInstance() {
return adapterFactory;
}

public AccountingAdapter createAccountingAdapter() {
try {
String className = System.getProperty("accountingProperty");
accountingAdapter = (AccountingAdapter) Class.forName(className).newInstance();

} catch (Exception e) {
e.printStackTrace();
}

return accountingAdapter;
}

public InventoryAdapter createInventoryAdapter() {
try {
String className = System.getProperty("inventoryProperty");
inventoryAdapter = (InventoryAdapter) Class.forName(className).newInstance();

} catch (Exception e) {
e.printStackTrace();
}

return inventoryAdapter;
}
}
[há +1 mês] - Responder

 

Rodrigo Martins Pagliares
Fabiano,

após uma primeira passada de olho, vejo que voce enxergou o principal que é decidir qual objeto instanciar a partir de uma propriedade de sistema ou arquivo externo. Assim, não precisamos recompilar nosso código quando quisermos iniciar nossa aplicação com algum outro adaptador.

Resumindo, minha compilação mental do seu código não detectou nenhum problema ;)

Bons estudos.
[há +1 mês] - Responder
 

Rodrigo Martins Pagliares
Se não me engano, na aula usei um arquivo com diversas configurações geradas pelo netbeans, mas poderia ser qualquer outro arquivo com as propriedades desejadas.
[há +1 mês] - Responder
 

Fabiano Alves De Souza
Valeu Rodrigo.. e parabéns pela qualidade do curso!
[há +1 mês] - Responder
 



Publicidade
Curso Online
Este post faz parte de:

Curso(s):
  •  Introdução a Design Patterns

    Formações:
  •  Formação Java web Developer
  • Autor
    Rodrigo Martins Pagliares

    Professor do curso de Bacharelado em Ciência da Computação da Universidade Federal de Alfenas, UNIFAL-MG. Possui os títulos de Mestre em Ciência da Computação pela Universidade Federal de Santa Catarina, UFSC, 2002 e Bacharel em Ciência da Computação pela Universidade Federal de Ouro Preto, UFOP, 19...


    Space do autor
    Estatísticas
    Favorito:
    Comentários:
    Feedback:
    Utilidade:
    0   0
    [Fechar]

    Você precisa estar logado para dar um feedback.

    Clique aqui para efetuar o login
    [Fechar]


    Este post está fechado. Saiba mais sobre a assinatura MVP!
    web-03
    DevMedia  |  Anuncie  |  Fale conosco
    Hospedagem web por Porta 80 Web Hosting
    2012 - Todos os Direitos Reservados a web-03