Created
December 16, 2020 15:26
-
-
Save tomascco/a23f8e0114700a101d262683d3b6cc81 to your computer and use it in GitHub Desktop.
Slides da talk
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
Software: qual sua utilidade? | |
Resolver problemas, | |
aplicando regras de negócio? | |
🤔 | |
# todo sistema substitui um humano, que realiza processos de negócios como os que acontecem o tempo todo na GTi (jornada da gerência, de vendas, abraços quentinhos, etc). | |
Se nossos sistemas substituem | |
humanos realizando processos, | |
que processos são esses? | |
🧐 | |
▸ Processar o pagamento de uma compra | |
▸ Calcular a taxa de juros | |
▸ Calcular as férias de um empregado | |
▸ Calcular o número de diárias | |
▸ Fazer o checkout de um pedido | |
▸ Notificar o usuário de certas ações | |
▸ ... | |
Como fazer isso na prática? | |
👩💻🧑💻 | |
▸ Fazer o checkout de um pedido | |
# percebe-se que as regras de negócio vão além dos dados, (rails g scaffold Post). São transformações dos dados (processos, funções). O Rails não oferece mecanismos pra implementar esses processos? | |
Se existem várias maneiras | |
de resolver o mesmo problema, | |
existe uma melhor que a outra? | |
Arquitetura e design de software | |
📝 | |
“Any fool can write code that a computer can understand. | |
Good programmers write code that humans can understand.” | |
— Martin Fowler | |
Como escrever regras de negócio em rails? | |
Existem várias soluções para organizar | |
essa "camada" da aplicação: | |
▸ dry-transaction | |
▸ Trailblazer::Operation | |
▸ Interactor | |
▸ Service Objects | |
▸ u-case | |
📝 | |
“Talk is cheap. Show me the code.” | |
— Linus Torvalds |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment