Skip to content

Commit

Permalink
Merge branch 'master' of github.com:manoelcampos/padroes-projetos
Browse files Browse the repository at this point in the history
  • Loading branch information
manoelcampos committed Aug 12, 2024
2 parents 3789453 + 5e4d117 commit 99b184c
Show file tree
Hide file tree
Showing 24 changed files with 33 additions and 33 deletions.
4 changes: 2 additions & 2 deletions comportamentais/01-strategy/modelagem/README.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
= Modelagem do Padrão Strategy (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/strategy/modelagem/[zip])
= Modelagem do Padrão Strategy (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/01-strategy/modelagem/[zip])

Apresenta um código de exemplo da modelagem do padrão Strategy.
Tal código serve apenas de base para implementação de uma solução específica utilizando o padrão.
Assim, nomes de classes, métodos e atributos precisam ser alterados para nomes específicos.
Assim, nomes de classes, métodos e atributos precisam ser alterados para nomes específicos.
2 changes: 1 addition & 1 deletion comportamentais/02-template-method/modelagem/README.adoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
= Modelagem do Padrão Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/template-method/modelagem/[zip])
= Modelagem do Padrão Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/02-template-method/modelagem/[zip])

Apresenta um código de exemplo da modelagem do padrão Template Method.
Tal código serve apenas de base para implementação de uma solução específica utilizando o padrão.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
:imagesdir: ../images/
:source-highlighter: highlightjs

= Leitura de Retorno de Boletos Bancários usando implementação funcional do Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/template-method/retorno-boleto-template-funcional[zip])
= Leitura de Retorno de Boletos Bancários usando implementação funcional do Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/02-template-method/retorno-boleto-template-funcional[zip])

Esta versão do projeto implementa a leitura de retorno de boletos com o padrão
Template Method, utilizando programação funcional.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ ifdef::env-github[]
:warning-caption: :warning:
endif::[]

= Leitura de arquivos de retorno de boletos bancários utilizando os Padrões Template Method e Strategy (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/template-method/retorno-boleto-template-and-strategy[zip])
= Leitura de arquivos de retorno de boletos bancários utilizando os Padrões Template Method e Strategy (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/02-template-method/retorno-boleto-template-and-strategy[zip])

Esta é a implementação da leitura de arquivos de retorno de boletos bancários utilizando o padrão Strategy em conjunto com Template Method. Veja a modelagem a seguir.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
:imagesdir: ../images/
:source-highlighter: highlightjs

= Leitura de Retorno de Boletos Bancários usando Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/template-method/retorno-boleto-template[zip])
= Leitura de Retorno de Boletos Bancários usando Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/comportamentais/02-template-method/retorno-boleto-template[zip])

Esta versão do projeto implementa a leitura de retorno de boletos com o padrão
Template Method, evitando a duplicação de código existente na versão anterior utilizando apenas
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:source-highlighter: highlightjs

= Exportação de lista de objetos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/simple-factory/exportador-simple-factory-reflection[zip])
= Exportação de lista de objetos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/01-simple-factory/exportador-simple-factory-reflection[zip])

Esta versão do projeto apresentado link:../exportador-simple-factory[anteriormente] implementa
a exportação de dados de uma lista de qualquer tipo de objetos para formatos como HTML e Markdown (extensão .md).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
:imagesdir: ../../../images/patterns/criacionais
:source-highlighter: highlightjs

= Exportação de lista de produtos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/simple-factory/exportador-simple-factory[zip])
= Exportação de lista de produtos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/01-simple-factory/exportador-simple-factory[zip])

Este é um projeto que implementa a exportação de dados de uma lista de produtos para formatos como HTML e Markdown (extensão .md).
Ela é uma versão introdutória bastante limitada, pois só trabalha com lista de produtos.
Para exportar uma lista de outro tipo de objeto, seria necessário implementar novas classes,
não sendo uma solução viável.

.Diagrama de classes para implementação do exportador de lista de produtos para HTML e Markdown.
image::exportador-simple-factory.png[]
image::exportador-simple-factory.png[]
4 changes: 2 additions & 2 deletions criacionais/01-simple-factory/modelagem/README.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
= Modelagem do Padrão Simple Factory (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/simple-factory/modelagem/[zip])
= Modelagem do Padrão Simple Factory (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/01-simple-factory/modelagem/[zip])

Apresenta um código de exemplo da modelagem do padrão Simple Factory.
Tal código serve apenas de base para implementação de uma solução específica utilizando o padrão.
Assim, nomes de classes, métodos e atributos precisam ser alterados para nomes específicos.
Assim, nomes de classes, métodos e atributos precisam ser alterados para nomes específicos.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:source-highlighter: highlightjs

= Leitura Dinâmica de Retorno de Boletos Bancários usando Template Method e Simple Factory (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/simple-factory/retorno-boleto-simple-factory-dynamic[zip])
= Leitura Dinâmica de Retorno de Boletos Bancários usando Template Method e Simple Factory (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/01-simple-factory/retorno-boleto-simple-factory-dynamic[zip])

Esta versão do projeto implementa a leitura de retorno de boletos com o padrão
Strategy e Template Method, evitando a duplicação de código existente na versão anterior utilizando apenas
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:source-highlighter: highlightjs

= Leitura de Retorno de Boletos Bancários usando Simple Factory e uma implementação funcional do Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/simple-factory/retorno-boleto-simple-factory[zip])
= Leitura de Retorno de Boletos Bancários usando Simple Factory e uma implementação funcional do Template Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/01-simple-factory/retorno-boleto-simple-factory[zip])

Esta versão do projeto implementa a leitura de retorno de boletos com o padrão
Strategy e Template Method, evitando a duplicação de código existente na versão anterior utilizando apenas
Expand All @@ -9,4 +9,4 @@ as implementações mais simples.

Por estar utilizando os dois padrões em conjunto, note que
a estrutura das classes não reflete exatamente os diagramas apresentados
na link:../[pasta anterior].
na link:../[pasta anterior].
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
:source-highlighter: highlightjs

= Exportação de lista de objetos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/factory-method/exportador-factory-method-reflection[zip])
= Exportação de lista de objetos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/02-factory-method/exportador-factory-method-reflection[zip])

Esta é uma versão do projeto alink:../../simple-factory/exportador-simple-factory-reflection[anterior] que implementa
a exportação de dados de uma lista genérica de objetos para formatos como HTML e Markdown (extensão .md).
Expand All @@ -9,4 +9,4 @@ dos objetos da lista que deve ser exportada.

É aplicado o padrão link:../[Factory Method] para deixar as subclasses de `AbstractExportadorLista`
decidirem qual classe será instanciada quando decidirmos criar mais colunas para uma tabela em um formato
específico.
específico.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
:imagesdir: ../../../images/patterns/criacionais
:source-highlighter: highlightjs

= Exportação Problemática de lista de objetos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/factory-method/exportador-problematico[zip])
= Exportação Problemática de lista de objetos em diferentes formatos (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/02-factory-method/exportador-problematico[zip])

Esta é uma versão do projeto link:../exportador-factory-method-reflection[anterior] que implementa
a exportação de dados de uma lista genérica de objetos para formatos como HTML e Markdown (extensão .md).
Expand Down
4 changes: 2 additions & 2 deletions criacionais/02-factory-method/modelagem/README.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
= Modelagem do Padrão Factory Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/factory-method/modelagem/[zip])
= Modelagem do Padrão Factory Method (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/02-factory-method/modelagem/[zip])

Apresenta um código de exemplo da modelagem do padrão Factory Method.
Tal código serve apenas de base para implementação de uma solução específica utilizando o padrão.
Assim, nomes de classes, métodos e atributos precisam ser alterados para nomes específicos.
Assim, nomes de classes, métodos e atributos precisam ser alterados para nomes específicos.
4 changes: 2 additions & 2 deletions criacionais/03-singleton/config-singleton-spring/README.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
= Mostra como usar o padrão Singleton com Spring (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/singleton/config-singleton-spring[zip])
= Mostra como usar o padrão Singleton com Spring (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/03-singleton/config-singleton-spring[zip])

Projeto em Spring Boot que mostra como podemos usar objetos singleton de forma automática (usando apenas anotações) em um controller REST.
Projeto em Spring Boot que mostra como podemos usar objetos singleton de forma automática (usando apenas anotações) em um controller REST.
4 changes: 2 additions & 2 deletions criacionais/03-singleton/modelagem/README.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
= Modelagem do Padrão Singleton (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/singleton/modelagem/[zip])
= Modelagem do Padrão Singleton (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/03-singleton/modelagem/[zip])

Apresenta um projeto de exemplo da modelagem do padrão Singleton.
Apresenta um projeto de exemplo da modelagem do padrão Singleton.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ifdef::env-github[]
:warning-caption: :warning:
endif::[]

= Paciente Builder Automático usando biblioteca Immutables (https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/builder/paciente-builder-automatico-immutables[zip])
= Paciente Builder Automático usando biblioteca Immutables (https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/04-builder/paciente-builder-automatico-immutables[zip])

Mostra como usar a biblioteca http://immutables.github.io[Immutables] para gerar builders automáticos em tempo de compilação.
A builder é gerada na pasta target/generated-sources, assim, não é incluída
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ifdef::env-github[]
:warning-caption: :warning:
endif::[]

= Paciente Builder Automático com Biblioteca Lombok (https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/builder/paciente-builder-automatico-lombok[zip])
= Paciente Builder Automático com Biblioteca Lombok (https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/04-builder/paciente-builder-automatico-lombok[zip])

Mostra como usar a biblioteca http://projectlombok.org[Lombok] para gerar builders automáticos em tempo de compilação.
O Lombok intercepta o processo de compilação e alterar o bytecode das classes onde as anotações dele foram incluídas.
Expand Down
2 changes: 1 addition & 1 deletion criacionais/04-builder/paciente-builder-base/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ ifdef::env-github[]
:warning-caption: :warning:
endif::[]

= Projeto base para implementação de uma classe Builder pelo IDE (https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/builder/paciente-builder-base[zip])
= Projeto base para implementação de uma classe Builder pelo IDE (https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/criacionais/04-builder/paciente-builder-base[zip])

Use o projeto para criar sua implementação de uma classe Builder para a classe Paciente.
2 changes: 1 addition & 1 deletion estruturais/01-adapter/captcha-adapters-v1/README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ifdef::env-github[]
:warning-caption: :warning:
endif::[]

= Implementa Adapters para bibliotecas de captcha em Java (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/adapter/captcha-adapters[zip])
= Implementa Adapters para bibliotecas de captcha em Java (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/01-adapter/captcha-adapters[zip])

O projeto padroniza diferentes bibliotecas de geração de captcha offline,
aplicando o padrão de projetos Adapter. As bibliotecas adaptadas são:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ifdef::env-github[]
:warning-caption: :warning:
endif::[]

= Implementa Adapters para bibliotecas de captcha em Java (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/adapter/captcha-adapters[zip])
= Implementa Adapters para bibliotecas de captcha em Java (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/01-adapter/captcha-adapters[zip])

O projeto padroniza diferentes bibliotecas de geração de captcha offline,
aplicando o padrão de projetos Adapter. As bibliotecas adaptadas são:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ifdef::env-github[]
:warning-caption: :warning:
endif::[]

= Adapters para Web APIs de CEPs com Spring (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/adapter/cepservice-clients-adapter-spring-v1-manual[zip])
= Adapters para Web APIs de CEPs com Spring (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/01-adapter/cepservice-clients-adapter-spring-v1-manual[zip])

Mostra como criar manualmente adapters para APIs Web de consulta de endereço pelo CEP.
Apesar de o projeto estar adaptando o acesso aos serviços de CEP (criando classes cliente para estes serviços),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
= Injeção de Dependência e clientes de API com Spring (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/adapter/cepservice-clients-adapter-spring-v2-automatico[zip])
= Injeção de Dependência e clientes de API com Spring (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/01-adapter/cepservice-clients-adapter-spring-v2-automatico[zip])


Projeto mostra como usar injeção de dependência no Spring e criação de clientes de API automaticamente com https://docs.spring.io/spring-cloud-openfeign/docs/current/reference/html/[OpenFeign].
Expand Down
4 changes: 2 additions & 2 deletions estruturais/01-adapter/modelagem/README.adoc
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
:imagesdir: ../../../images/patterns/estruturais

= Modelagem do Padrão Adapter (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/adapter/modelagem/[zip])
= Modelagem do Padrão Adapter (link:https://kinolien.github.io/gitzip/?download=/manoelcampos/padroes-projetos/tree/master/estruturais/01-adapter/modelagem/[zip])

Apresenta um código de exemplo da modelagem do padrão Adapter.
Tal código serve apenas de base para implementação de uma solução específica utilizando o padrão.
Assim, nomes de classes, métodos e atributos precisam ser alterados para nomes específicos.

.Modelagem do padrão adapter
image::adapter.png[]
image::adapter.png[]
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class Venda {

public Venda() {/**/}

public Venda(Client cliente, LocalDate data, double valorTotal) {
public Venda(Cliente cliente, LocalDate data, double valorTotal) {
this.cliente = cliente;
this.data = data;
this.valorTotal = valorTotal;
Expand Down

0 comments on commit 99b184c

Please sign in to comment.