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

Atualização versão Horse pra 3.1.4, unit específica para BD, adicionando Controllers e Models + Aplicação Console #3

Open
wants to merge 43 commits into
base: main
Choose a base branch
from

Conversation

IagooCesaar
Copy link
Contributor

Atualização Horse e criação do Gitignore

Adicionada nova rota apenas para retornar a versão do Horse:
http://localhost:9000/api/version

@IagooCesaar IagooCesaar changed the title Atualização versão Horse pra 3.1.4 e adição de GitIgnore Atualização versão Horse pra 3.1.4 e adição da lib pascal-database-engine Aug 12, 2023
@IagooCesaar
Copy link
Contributor Author

IagooCesaar commented Aug 12, 2023

Incrementei neste PR outros ajustes:

Adicionada a lib pascal-database-engine. Ela implementa o conceito de "Pool de Conexões" segundo o modelo proposto em https://github.com/antoniojmsjr/MultithreadingFireDAC.

Com isto diminui consideravelmente a concorrência pela conexão ao banco de dados, de modo que cada thread do Horse utilize sua própria conexão, que passa a ser gerenciada por FDManager.

Desta forma o main.basedados pode ser removido por não haver mais dependência desta unit.

@IagooCesaar
Copy link
Contributor Author

IagooCesaar commented Aug 16, 2023

PR mesclado com IagooCesaar#1

Implementação de Controllers específicos para Produto e Unidade de Medida. Desta forma, o código em TWsHorse fica mais limpo, iniciando adoção do princípio de responsabilidade única.

@IagooCesaar IagooCesaar changed the title Atualização versão Horse pra 3.1.4 e adição da lib pascal-database-engine Atualização versão Horse pra 3.1.4, adição da lib pascal-database-engine, adicionando Controllers Aug 16, 2023
@IagooCesaar IagooCesaar changed the title Atualização versão Horse pra 3.1.4, adição da lib pascal-database-engine, adicionando Controllers Atualização versão Horse pra 3.1.4, adição da lib pascal-database-engine, adicionando Controllers e Models + Aplicação Console Aug 17, 2023
@IagooCesaar IagooCesaar changed the title Atualização versão Horse pra 3.1.4, adição da lib pascal-database-engine, adicionando Controllers e Models + Aplicação Console Atualização versão Horse pra 3.1.4, unit específica para BD, adicionando Controllers e Models + Aplicação Console Aug 17, 2023
@IagooCesaar
Copy link
Contributor Author

Os PR's #5 e #6 foram mesclados neste PR #3 para simplificar o merge, evitando conflitos ou multi-branches.


Transcrição do arquivo refatoracao.md:

Refatoração EAN Pictures - 1a etapa

  • Mudar o tipo de aplicação para console
  • Remoção do Main.View.pas
  • Migrar para a nova versão do Horse
  • Remover acesso de recursos visuais da API
  • Criar uma unit específica para conexão com banco de dados
  • Remover Uses do Zeos na classe de conexão com banco de dados
  • Remover Utilização de variáveis globais
  • No endpoint /api/desc_ini/:id garantir que a variável seja destruída

Refatoração EAN Pictures - 2a etapa (melhoria na estrutura do projeto)

  • Organização do projeto em pastas (controllers, providers, services)
  • organização e nomeação dos endpoints
  • Passagem de filtros
  • Separar em responsabilidades o conteúdo que está na wsHorse
  • Padronizar Nome de variáveis e parâmetros de funções
  • Blocos try-finally sem necessidade
  • Rever Uso do with
  • Manter um padrão na resposta dos dados, uma hora retorna JSON, outra um texto
  • Parâmetro Next não é mais necessário na nova versão do Horse
  • Não precisa ficar criando TJSONPair para cada pair adicionado
  • Uso do FreeAndNil sem necessidade no endpoint /api/desc_ini/:id
  • Identação de código
  • Excluir Componente para fazer requisição

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

Successfully merging this pull request may close these issues.

1 participant