Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Classe "BancoFebraban" ? #9

Closed
olavorn opened this issue Jul 25, 2019 · 4 comments
Closed

Classe "BancoFebraban" ? #9

olavorn opened this issue Jul 25, 2019 · 4 comments

Comments

@olavorn
Copy link
Contributor

olavorn commented Jul 25, 2019

Para reunir um pouco do código repetido em várias das classes Banco, senti falta de uma classe ancestral das classes BancoBradesco, BancoBrasil etc..

Ia propor uma classe abstrata BancoFebraban que não necessariamente implementasse IBanco, mas que contivesse um punhado de implementações que fossem comuns a todos. O que vcs acham?

@carloscds
Copy link
Collaborator

@olavorn Isto pode complicar um pouco o projeto. Entendio que existe código repetido, mas tudo esta dentro da classe de cada banco. Se começar a dividir isto, uma mudança nesta classe Ancestral pode quebrar o codigo de tudo, e não somente do banco em questão.
my 2 cents.

@olavorn
Copy link
Contributor Author

olavorn commented Jul 25, 2019

Hum, ok.

Eu pensei na possibilidade também de fazer por um Helper, mas como boa parte da lógica está em métodos internos private, ficaria inviável...

O trade-off é que todas as funcionalidades ou arranjos a partir do padrão CNAB terão que ser refletidos em todos os Bancos tb. :/

Vou fazer o commit em uma branch apenas com a idéia e 2 bancos que eu uso implementados dessa forma, apenas pra avaliar. Ambos dividindo alguns métodos, como o LerRetornoSegmentoXX e alguns outros que vi igual..

@olavorn
Copy link
Contributor Author

olavorn commented Jul 25, 2019

@carloscds
Copy link
Collaborator

@olavorn ok.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants