Last active
August 29, 2015 14:08
-
-
Save jpolvora/a9e717e543826f86bc80 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Funcionario | |
{ | |
private ICalculadorDeBonus _calculador; | |
// setter público para a dependência possa ser alterada | |
public ICalculadorDeBonus Calculador { | |
get { | |
return _calculador ?? (_calculador = new BonificacaoPadrao()); | |
} | |
set { | |
if (_calculador != null) | |
throw new InvalidOperationException("Não é permitido mudar de Calculador!"); | |
if (value == null) | |
throw new InvalidOperationException("Não é permitido atribuir null a Calculador!"); | |
_calculador = value; | |
} | |
} | |
public Funcionario() | |
{ | |
//Calculador = new BonificacaoPadrao(); | |
} | |
// usando a dependência | |
public decimal Bonificacao() | |
{ | |
return Calculador.CalcularBonus(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment