Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *author: André M Fagundes
- *Description: Exemplo de como não criar uma classe com OCP (Open Close Principle)
- */
- public class Padaria
- {
- public function CalcularValorTotalPao($quantidade, $TipoDoPao)
- {
- if ($TipoDoPao == 'normal')
- {
- // calcula total pao normal
- }
- if ($TipoDoPao == 'integral')
- {
- // calcula total pao integral
- }
- }
- }
- /**
- *author: André M Fagundes
- *Description: Exemplo de como corrigir a classe acima para o uso correto de OCP (Open Close Principle)
- */
- abstract class Padaria
- {
- public abstract function CalcularTotal($quantidade, $TipoDoPao);
- }
- public class CalcularTotalPaoNormal extends Padaria()
- {
- public function CalcularTotal($quantidade, $TipoDoPao){
- }
- }
- public class CalcularTotalPaoIntegral extends Padaria()
- {
- public function CalcularTotal($quantidade, $TipoDoPao){
- }
- }
Add Comment
Please, Sign In to add comment