Skip to content

Instantly share code, notes, and snippets.

@felippepuhle
Created September 20, 2017 12:06
Show Gist options
  • Select an option

  • Save felippepuhle/69b9978ccf88449a447981dd2ff76d23 to your computer and use it in GitHub Desktop.

Select an option

Save felippepuhle/69b9978ccf88449a447981dd2ff76d23 to your computer and use it in GitHub Desktop.
public class Orcamento {
private double valor;
private List<Item> itens;
public Orcamento(double valor) {
this.valor = valor;
this.itens = new ArrayList<Item>();
}
public double getValor() {
return valor;
}
public List<Item> getItens() {
return Collections.unmodifiableList(itens);
}
public void adicionaItem(Item item) {
itens.add(item);
}
}
public class Item {
private String nome;
private double valor;
public Item(String nome, double valor) {
this.nome = nome;
this.valor = valor;
}
public String getNome() {
return nome;
}
public double getValor() {
return valor;
}
}
public class CalculadorDeDescontos {
public double calcula(Orcamento orcamento) {
// verifica primeira regra de possível desconto
if(orcamento.getItens().size > 5) {
return orcamento.getValor() * 0.1;
}
// verifica segunda regra de possível desconto
else if(orcamento.getValor() > 500.0) {
return orcamento.getValor() * 0.07;
}
// verifica terceira, quarta, quinta regra de possível desconto ...
// um monte de ifs daqui pra baixo
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment