Skip to content

Instantly share code, notes, and snippets.

@alexjosesilva
Created March 17, 2024 23:45
Show Gist options
  • Save alexjosesilva/c3b47871f19984d5dc7015cb47fce8ab to your computer and use it in GitHub Desktop.
Save alexjosesilva/c3b47871f19984d5dc7015cb47fce8ab to your computer and use it in GitHub Desktop.
Compositer.java Design Pattern
import java.util.ArrayList;
import java.util.List;
public interface Componente {
void operacao();
}
public class Folha implements Componente {
@Override
public void operacao() {
System.out.println("Operação da Folha");
}
}
public class Composto implements Componente {
private List<Componente> componentes = new ArrayList<>();
public void adicionar(Componente componente) {
componentes.add(componente);
}
@Override
public void operacao() {
for (Componente componente : componentes) {
componente.operacao();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment