Skip to content

Instantly share code, notes, and snippets.

@tandavala
Last active May 14, 2022 19:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tandavala/12a13dded447bde71e3f19af0158cfc2 to your computer and use it in GitHub Desktop.
Save tandavala/12a13dded447bde71e3f19af0158cfc2 to your computer and use it in GitHub Desktop.
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