DBravo:
Bom dia,
Estou precisando de uma ajuda!!
Alguem sabe me explicar qual problema que o padrão de projeto criacional Abstract Factory resolve no java?
Eu sei que ele é utilizado para criar varios tipos de objetos de familias diferentes atraves de uma unica interface(abstract).
E que ele isola as classes concretas não permitindo que o usuario crie um objeto usando new.
Mas não entendi qual o problema resolvido ainda alguem tem ideia?
vlw
Opa, tudo bom?
A utilização do pattern Factory e suas variações (Abstract Factory, Factory Static Method, etc) nos algumas vantagens, por exemplo:
Quando deixamos uma classe com construtor público perdemos o controle da inicialização sobre ela. Se a classe tem construtores com
parametros, praticamente obrigamos os programadores a consultar o javadoc para saber exatamente o que cada um daqueles parametros
significam.
Ter um métodos específico para essa criação, permite encapsular a sua criação (sem expor a forma de criação).
Uma boa definição sobre isso está no livro “Effective Java” por Joshua Bloch falando sobre métodos estáticos que podem substituir o uso dos construtores:
Criar um , ou mais, métodos estáticos que têm nomes claros, especificam o que os parametros significam e encapsulam a real criação do objeto é uma forma simples de ganhar muita produtividade, diminuir acoplamento e aumentar a legibilidade
PS: Lembrando que nessa frase ele não cita o pattern Factory diretamente.