Analise de sistema

1164 palavras 5 páginas
APS

Arquitetura e Padrões de Projeto (Design Patterns)

Padrão “Estratégia”

“O padrão Estratégia define uma família de algoritmos, encapsula cada uma deles e os torna intercambiáveis. O padrão “Estratégia” deixa o algoritmo variar independentemente dos clientes que o utilizam”

Padrão “Estratégia”
Ao colocar “emitirCheque” na superclasse, estamos permitindo que TODOS os clientes retirem cheques cliente +cartao: String +senha: int +validado: boolean +saldo: double +validar(String, int) +retirarSaldo() +sacar(double) +emitirCheque() +mostrarInformacoes()

O “sacar” do cliente especial é substituído, pois além de liberar o dinheiro ele emite o saldo

cliente_Comum +mostrarInformacoes()

aposentado +mostrarInformacoes()

cliente_Especial +sacar() +mostrarInformacoes()

Padrão “Estratégia”


Temos problemas:


Os clientes comuns e os aposentados estão emitindo cheques (e eles não poderiam fazer isso). Tivemos que substituir sacar para o cliente especial, pois a operação de saque dele é especial (e teremos que fazer isso para todos os clientes que tiverem um saque diferente daquele definido pela superclasse).
Qual a solução que vocês dariam???



Padrão “Estratégia”


Solução 1:


Substituir o método “emitirCheque” em todas as subclasses que não devem possuir esta funcionalidade. Acrescentar um método “sacar” para cada subclasse que possua um saque diferente daquele definido na superclasse.
O que vocês acham da idéia???



Padrão “Estratégia”



Funciona mas...


... é uma péssima idéia, pois o software do banco continuará crescendo e para cada nova subclasse que não deve emitir cheques teremos que substituir o método.

Padrão “Estratégia”


Solução 2: ● Implementar interfaces “emissãoCheque” e “saqueEspecial”, respectivamente com os métodos “emitirCheque()” e “sacarEspecial()”. Assim, somente as classes que podem emitir cheque e/ou possuem saque especial irão implementar estas interfaces e,

Relacionados

  • Analise de sistema
    3133 palavras | 13 páginas
  • Analise de sistemas
    1429 palavras | 6 páginas
  • Analise de sistema
    15851 palavras | 64 páginas
  • Analise De Sistemas
    2218 palavras | 9 páginas
  • Análises de Sistemas
    6490 palavras | 26 páginas
  • Analise de sistema
    2604 palavras | 11 páginas
  • Analise de sistemas
    390 palavras | 2 páginas
  • Analise de sistemas
    3950 palavras | 16 páginas
  • Análise de sistemas
    2878 palavras | 12 páginas
  • Analise sistemas
    1266 palavras | 6 páginas