sábado, 26 de abril de 2008

Padrão Singleton

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.
BIBLIOGRAFIA:

sábado, 19 de abril de 2008

Padrões GOF

Aula 19 do dia 14/04/2008

Padrões GOF

Primeiramente , devemos nos perguntar , o que é um Padrão ?

È uma maneira de alcance de objetivo , seja esta de forma documentada ou testada.

Como no bimestre que se passou , falamos de padrões GRASP , daremos continuidade ao nosso estudo ,falando dos padrões GOF (Gang of Four).

Cada padrão nos mostra um problema que acontece várias vezes , so que ele nos dá a possibilidade de confecção de uma solução base que poderá ser utilizada em vários outros objetos, ou seja, através dele nós podemos confeccionar uma solução padronizada , que poderá ser reutilizada várias vezes.

Eu penso que para um leigo qualquer na área as informações fornecidas acima não fazem nenhuma diferença , mas para um desenvolvedor que procura ascensão na área , padrões GOF dão ao profissional na área de TI , um salto em sua carreira , ajudam um desenvolvedor calouro a pensar como um especialista, auxiliam na documentação de sistemas já desenvolvidos ou que venham a ser desenvolvidos e o melhor , facilita bastante na aprendizagem.

Os padrões proporcionam ao desenvolvedor uma melhor organização dos seus sistemas , pois possibilitam o uso de soluções com nome , facilitando assim o entendimento.

Elementos de um padrão

São os que se seguem abaixo:

- Nome: Nome do Padrão a ser estabelecido.
- Problema: Quando se deve aplicar um padrão , e sobre quais condições devemos utilizá-lo.
- Solução.
- Conseqüências.

Padrão Adapter

Sua função é tornar classes com interfaces diferentes compatíveis.
* Momento JAVA – Vamos recordar um assunto que todos nós conhecemos do 3º termo em JAVA , falaremos de interface.
* Interfaces são coleções de métodos que permitem que objetos de uma classe acessem objetos de outras classes.
Este padrão cria uma classe que se adapte as necessidades de outra classe.

Quanto ao tipo de adaptador , existem dois tipos:

Adaptador de objetos e adaptador de classes e como foi pedido no laboratório tentarei confeccionar um exemplo de cada um deles.
Adaptador de Classe

Public class Professor {
Destino [] destino = new Destino [2];
public void concluirDestino ( ) {
destinos[0] = new DestinoEmCurso ( );
destinos[1] = new Adaptador ( );
// ...
}
Public void concluiDestino ( ) {
for (int i = 1; i < destino.length; i++) {
alvo.operacao( );
}
}
}



ADAPTADOR

Public class Adaptador extends ClasseAtual implements Destino
Public void execução ( ) {
String texto = metodoUtilUm(“Aula Ministrada.”);
}
}


Public class ClasseAtual {
Public void metodoUtilUm(String texto) {
System.out.println(texto);
}

}

Bibliografia:

http://padroes-de-projeto-de-software.cartilha.regularize.com.br/list/18/cartilha/post/85/

Boa semana a todos , até a próxima

terça-feira, 1 de abril de 2008

Padrão Controlador

Referente a aula do dia 25/3/2008
Padrão Controlador
Controlador Problema: Que objeto, fora da camada de apresentação, deve receber e coordenar a solicitação da execução de uma operação?
O princípio da separação Modelo-Visão pode ser enunciado em duas partes:- Não conecte diretamente objetos pertencentes à interface com o usuário (visão) com objetos não pertencentes à interface com o usuário (IU).
- Permitir o desenvolvimento separado das camadas de apresentação e negócio.
- Minimizar o impacto na camada de negócio das alterações nos requisitos da interface com o usuário.
- Permitir a existência de múltiplas visões simultâneas para uma mesma camada de negócios (por exemplo, a visualização de dados de vendas na forma tabular ou através de um gráfico de pizzas). O objeto Controlador responde a uma questão básica no projeto de sistemas OO: Como conectar a camada de apresentação à camada da lógica do negócio?O controlador é o primeiro objeto fora da camada de interface com o usuário a receber ou tratar uma mensagem para o sistema.
- Um objeto Controlador para todo o sistema- Um objeto Controlador por Caso de Uso (ou por cenário de Caso de Uso) Os benefícios do padrão controlador são:
- Diminui a sensibilidade da camada de apresentação em relação à lógica de domínio
- Oportunidade para controlar o estado do caso de uso.
Bom foi mais ou menos o que eu entendi , admito que em certos momentos não resumi muito , por que tenho que admitir que senti um pouco de dificuldade em explicar este padrão , espero que mesmo assim tenha conseguido passar um pouco de que eu entendi.
Até o próximo blog
Marcos Vinicius