Aula 22 referente a aula do dia 22 de abril de 2008
Padrão Singleton
Possui a função de garantir que uma classe possua uma única instância, possui uma boa semelhança em relação ao padrão criador dos Padrões GRASP.
Outro objetivo desse padrão é prover um ponto de acesso a classe, se bem que temos que refletir sobre os problemas que podem ocorrer , primeiramente , como iremos controlar o número de instâncias da classe em questão , ou de qualquer outras classes, como armazená-las e principalmente como definir o acesso a elas?
É por isso que temos que utilizar o método synchronized, para evitar que dois objetos tentem criar as instancias ao mesmo tempo.
Vantagens do Singleton
- Pode vir a possuir subclasses , devido a utilização de métodos estáticos.
- Acesso a vários objetos
Desvantagens
- A sua implementação depende da linguagem utilizada
- Difícil de se implementar em um ambiente distribuído
- Difícil de implementar em ambiente multithreaded
- De difícil teste , pois pode haver momentos em que suas aplicações dependam de uma instância extra.
Bom , por enquanto é só , pessoal , espero que tenha conseguido clarear bem a idéia do que vem a ser o padrão Singleton.
Bom final de semana a todos e até a próxima.
Padrão Singleton
Possui a função de garantir que uma classe possua uma única instância, possui uma boa semelhança em relação ao padrão criador dos Padrões GRASP.
Outro objetivo desse padrão é prover um ponto de acesso a classe, se bem que temos que refletir sobre os problemas que podem ocorrer , primeiramente , como iremos controlar o número de instâncias da classe em questão , ou de qualquer outras classes, como armazená-las e principalmente como definir o acesso a elas?
É por isso que temos que utilizar o método synchronized, para evitar que dois objetos tentem criar as instancias ao mesmo tempo.
Vantagens do Singleton
- Pode vir a possuir subclasses , devido a utilização de métodos estáticos.
- Acesso a vários objetos
Desvantagens
- A sua implementação depende da linguagem utilizada
- Difícil de se implementar em um ambiente distribuído
- Difícil de implementar em ambiente multithreaded
- De difícil teste , pois pode haver momentos em que suas aplicações dependam de uma instância extra.
Bom , por enquanto é só , pessoal , espero que tenha conseguido clarear bem a idéia do que vem a ser o padrão Singleton.
Bom final de semana a todos e até a próxima.
BIBLIOGRAFIA: