How marcoaparaujo/padroes-projeto works
This repository is a Java collection of GoF design-pattern examples modeled around academic entities, not a single integrated application. Its principal use is to examine how each pattern expresses a focused behavior—such as interpreting arithmetic, routing document signatures, changing student state, or adapting grades. The graph groups the examples by behavioral, creational, and structural patterns. The README is empty, and sampled source covers only some examples; other listed pattern branches are included from the tree without asserting unverified wiring.
Main entry points: Funcionario.java Signature chain · InterpretadorExpressoesAritmeticas.java Arithmetic interpreter · state/Aluno.java Student lifecycle · strategy/Aluno.java Grade operations
Components 30
Behavioral patterns
- Signature chain
src/main/java/padroescomportamentais/chainofresponsability/Funcionario.java - Semester commands
src/main/java/padroescomportamentais/command/Tarefa.java - Arithmetic interpreter
src/main/java/padroescomportamentais/interpreter/InterpretadorExpressoesAritmeticas.java - Expression types
src/main/java/padroescomportamentais/interpreter/InterpretadorExpressao.java - Census iterator
src/main/java/padroescomportamentais/iterator/Censo.java - Ombuds mediator
src/main/java/padroescomportamentais/mediator/Ouvidoria.java - Student snapshots
src/main/java/padroescomportamentais/memento/Aluno.java - Class notifications
src/main/java/padroescomportamentais/observer/Turma.java - Student lifecycle
src/main/java/padroescomportamentais/state/Aluno.java - Lifecycle states
src/main/java/padroescomportamentais/state/AlunoEstado.java - Grade operations
src/main/java/padroescomportamentais/strategy/Aluno.java - Calculator context
src/main/java/padroescomportamentais/strategy/Calculadora.java - Approval rules
src/main/java/padroescomportamentais/templatemethod/Aluno.java - Person visitor
src/main/java/padroescomportamentais/visitor/PessoaVisitor.java - Visitor elements
src/main/java/padroescomportamentais/visitor/Pessoa.java
Creational patterns
- Academic factories
src/main/java/padroescriacao/abstractfactory/FabricaAbstrata.java - Student builder
src/main/java/padroescriacao/builder/AlunoBuilder.java - Student services
src/main/java/padroescriacao/factorymethod/ServicoFactory.java - Student prototype
src/main/java/padroescriacao/prototype/Aluno.java - Address clone
src/main/java/padroescriacao/prototype/Endereco.java - Shared parameters
src/main/java/padroescriacao/singleton/Parametros.java
Structural patterns
- Grade adapter
src/main/java/padroesestruturais/adapter/AvaliacaoAdapter.java - Concept grades
src/main/java/padroesestruturais/adapter/AvaliacaoConceito.java - Role qualifications
src/main/java/padroesestruturais/bridge/Cargo.java - Course contents
src/main/java/padroesestruturais/composite/Conteudo.java - Course additions
src/main/java/padroesestruturais/decorator/CursoDecorator.java - Student services facade
src/main/java/padroesestruturais/facade/AlunoFacade.java - Shared cities
src/main/java/padroesestruturais/flyweight/CidadeFactory.java - Student data proxy
src/main/java/padroesestruturais/proxy/Aluno.java - Student data source
src/main/java/padroesestruturais/proxy/BD.java
Connections 8
- Signature chain → Signature chain: forwards signature
- Arithmetic interpreter → Expression types: evaluates expression
- Student lifecycle → Lifecycle states: delegates transition
- Grade operations → Calculator context: creates and calls
- Person visitor → Visitor elements: dispatches display
- Student prototype → Address clone: clones address
- Grade adapter → Concept grades: sets and reads
- Student data proxy → Student data source: loads student