12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

HERANÇAC A P Í T U L O8Reutilização <strong>de</strong> CódigoUm banco oferece diversos serviços que po<strong>de</strong>m ser contratados individualmente pelos clientes.Quando um serviço é contratado, o sistema do banco <strong>de</strong>ve registrar quem foi o cliente que contratouo serviço, quem foi o funcionário responsável pelo atendimento ao cliente e a data <strong>de</strong> contratação.Com o intuito <strong>de</strong> ser produtivo, a mo<strong>de</strong>lagem dos serviços do banco <strong>de</strong>ve diminuir a repetição <strong>de</strong>código. A i<strong>de</strong>ia é reaproveitar o máximo do código já criado. Essa i<strong>de</strong>ia está diretamente relacionadaao conceito Don’t Repeat Yourself. Em outras palavras, <strong>de</strong>vemos minimizar ao máximo a utilizaçãodo “copiar e colar”. O aumento da produtivida<strong>de</strong> e a diminuição do custo <strong>de</strong> manutenção são asprincipais motivações do DRY.Em seguida, vamos discutir algumas mo<strong>de</strong>lagens possíveis para os serviços do banco. Buscaremosseguir a i<strong>de</strong>ia do DRY na criação <strong>de</strong>ssas mo<strong>de</strong>lagens.Uma classe para todos os serviçosPo<strong>de</strong>ríamos <strong>de</strong>finir apenas uma classe para mo<strong>de</strong>lar todos os tipos <strong>de</strong> serviços que o banco oferece.1 class Servico {2 private Cliente contratante ;3 private Funcionario responsavel ;4 private String dataDeContratacao ;56 // métodos7 }Código Java 8.1: Servico.javaEmpréstimoO empréstimo é um dos serviços que o banco oferece. Quando um cliente contrata esse serviço,são <strong>de</strong>finidos o valor e a taxa <strong>de</strong> juros mensal do empréstimo. Devemos acrescentar dois atributosna classe Servico: um para o valor e outro para a taxa <strong>de</strong> juros do serviço <strong>de</strong> empréstimo.1 class Servico {2 // GERAL3 private Cliente contratante ;4 private Funcionario responsavel ;5 private String dataDeContratacao ;www.<strong>k19</strong>.com.br 83

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!