Olá!
Tenho uma dúvida em relação a Design Patterns. Gostaria de saber qual dos padrões de criação (Abstract Factory, Builder, Factory Method, Prototype, Singleton) GoF utilizar no desenvolvimento de um software.
É uma aplicação local.
Obrigado.
Olá!
Tenho uma dúvida em relação a Design Patterns. Gostaria de saber qual dos padrões de criação (Abstract Factory, Builder, Factory Method, Prototype, Singleton) GoF utilizar no desenvolvimento de um software.
É uma aplicação local.
Obrigado.
Aqueles que tu precisar.
E mais nada.
Esses padrões são necessários a medida que vc vai encontrando problemas em comum e os identificando. Pode-se resolver o mesmo problema utilizando mais de um padrão ou até mesmo sem utilizar nenhum, cabe apenas ao conhecimento prévio e ao bom senso de cada desenvolvedor ou projetista a adoção de um ou de outro padrão.
Um padrão de projeto , desing pattern, é um conjunto de fatos e trade-offs (escolhas) que visam resolver um problema especifico, mas frequente o bastante para ser recorrente em muitas situações.
Cada padrão faz coisas diferentes. Embora todos eles pertenam à classe de padrões “que constroem coisas” eles constroem diferente.
Por exemplo:
Factory Method : Encapsula a criação dentro de um objeto num método. O seu objetivo é evitar que o programador faça “new” para criar o objeto de forma que a aplicação decida qual a melhor forma de criar o objeto (por exemplo, pode criar usando reflection)
Factory : Encapsula a definição de um ou mais Factory Methods. O objetivo é poder substituir a implementação dos métodos através de herança/composição. Além disso permite que a criação de objetos de classes diferentes seja coordenada vinculando os vários factory methods a um objetivo comum)
Abstract Factory : Encapsula a escolha de qual factory vai ser usada. Especialmente quando a Factory cria objectos de classes diferentes, mas relacionadas.
Builder: Encasupla a construção do objeto. É necessário quando simplesmente criar o objeto não é suficiente, ha que configurar o objeto.
A logica que sabe como configurar está encapsulada num builder.
Prototype : É uma estatégia para a criação de novos objetos. Eles são copias de um objeto padrão - o prototipo. Prototype pode se encarado como uma estratégia que um Builder usa.
Singleton: Encapsula a criação de um objecto de uma certa classe de forma que , num determinado contexto, exista um e um só objeto dessa classe sendo usado no contexto num dado instante
Agora, se vc quer construir um objeto que tem que ser configurado e só possa existir um no contexto da aplicação vc terá que usar os padrões : Singleton e Builder simultaneamente.
Nenhum programa se faz com um so padrão mas sim com a intereção de vários.