Skip to content

Instantly share code, notes, and snippets.

View alexjosesilva's full-sized avatar
🚀
Inovação

Alex José Silva alexjosesilva

🚀
Inovação
View GitHub Profile
@alexjosesilva
alexjosesilva / ProgramacaoFuncional.java
Created February 22, 2024 18:26
Programação Funcional
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int somaQuadrados = calcularSomaQuadrados(numeros);
System.out.println("A soma dos quadrados é: " + somaQuadrados);
@alexjosesilva
alexjosesilva / Carro.java
Created February 22, 2024 18:20
Programação Orientada a Objetos
public class Carro {
// Atributos
private String marca;
private String modelo;
private int ano;
// Construtor
public Carro(String marca, String modelo, int ano) {
this.marca = marca;
this.modelo = modelo;
@alexjosesilva
alexjosesilva / ProgramacaoDeclarativa.java
Created February 22, 2024 18:10
Programação Declarativa
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int somaQuadradosPares = numeros.stream()
.filter(numero -> numero % 2 == 0) // Filtrando os números pares
.mapToInt(numero -> numero * numero) // Mapeando para o quadrado do número
@alexjosesilva
alexjosesilva / ProgramacaoImperativa.java
Created February 22, 2024 18:02
Programacao Imperativa
public class CalculadoraMedia {
public static void main(String[] args) {
// Definindo os números
double numero1 = 10.5;
double numero2 = 8.2;
double numero3 = 5.7;
// Calculando a média
double media = (numero1 + numero2 + numero3) / 3;
@alexjosesilva
alexjosesilva / Adapter.java
Last active February 22, 2024 11:42
Adapter
// Interface alvo (target)
interface Pessoa {
String getNome();
String getIdentificador();
}
// Classe adaptada - Pessoa Física
class PessoaFisica {
private String nome;
private String cpf;
// Interface Strategy
interface Strategy {
int execute(int a, int b);
}
// Implementações concretas das estratégias
class AddStrategy implements Strategy {
@Override
public int execute(int a, int b) {
return a + b;
// Interface Componente
interface Pessoa {
double calcularPeso();
}
// Classe Concreta Componente
class PessoaBase implements Pessoa {
private double peso;
public PessoaBase(double peso) {
import java.util.ArrayList;
import java.util.List;
// Interface do Observador
interface Observer {
void update(String message);
}
// Classe Concreta do Observador
class ConcreteObserver implements Observer {
public class Singleton {
// Instância estática privada da classe
private static Singleton instance;
// Construtor privado para evitar a criação de instâncias fora da classe
private Singleton() {
// Construtor vazio ou com inicializações necessárias
}
// Método estático público para obter a instância única da classe
@alexjosesilva
alexjosesilva / factorymethodo.java
Created February 22, 2024 09:51
Factory Method (Método de Fábrica)
// Interface para representar diferentes formas geométricas
interface Shape {
void draw();
}
// Implementação da interface para um círculo
class Circle implements Shape {
@Override
public void draw() {
System.out.println("Desenhando um círculo");