Last active
May 14, 2022 19:47
-
-
Save tandavala/12a13dded447bde71e3f19af0158cfc2 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
class ProcessarPagamento { | |
private bulk: number; | |
private empresa: number; | |
private totalToPay: number; | |
private moeda: string; | |
constructor(bulk: number, empresa: number, totalToPay: number, moeda: string) { | |
this.bulk = bulk; | |
this.empresa = empresa; | |
this.totalToPay = totalToPay; | |
this.moeda = moeda; | |
} | |
get valorApagar(){ | |
return this.totalToPay; | |
} | |
get moedaApagar(){ | |
return this.moeda; | |
} | |
} | |
class AbstracaoPayPal { | |
private contas = []; | |
private totalMInhaCarteira = 1000; | |
public verificarSeTenhoSaldoSoficiente(){ | |
return true; | |
} | |
public criarConta(valar, conta) { | |
this.contas.push({ valar, conta}) | |
} | |
public discontarValorDaMinhaCarteira(valor: number){ | |
if(this.verificarSeTenhoSaldoSoficiente()){ | |
this.totalMInhaCarteira -= valor; | |
} | |
} | |
public saldoActual(){ | |
return this.totalMInhaCarteira; | |
} | |
} | |
/** | |
* | |
* !Abstração dos serviços do njila | |
*/ | |
const processar = new ProcessarPagamento(3, 3, 500, 'AOA'); | |
console.log(processar.valorApagar + ' ' + processar.moedaApagar) | |
//* Usando o paypal para fazer pagamento | |
const paypal = new AbstracaoPayPal() | |
console.log(paypal.saldoActual()) //* Antes do pagmanto | |
paypal.discontarValorDaMinhaCarteira(processar.valorApagar) | |
console.log(paypal.saldoActual()) //* Depois do pagmanto | |
/** | |
* !Abstração de adicionar o valor na conta do njila | |
* | |
* cliente 3 -> 500 -> xr | |
*/ | |
/** | |
* | |
* EventSource.processandoPagamento(cliente: 3, valor: 500) | |
* -> notifiões -> times lines -> logs -> observabilidade | |
* | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment