Simulando a Inteligência de um Elevador com POO e o Padrão Observer
Em um momento de observação casual no elevador do meu prédio, me deparei com uma pergunta: como seria modelar a lógica de funcionamento de um elevador em código? Daí nasceu um projeto empolgante: utilizar conceitos de POO e padrões de projeto para simular esse sistema.
Durante os estudos com a Cod3r (Leonardo Leitão), nos bootcamps da DIO e no livro Fácil Aprendizagem Padrão de Projetos Java, aprofundei meus conhecimentos sobre Design Patterns, especialmente o padrão Observer, que se encaixou perfeitamente para esse cenário. A ideia central é: o elevador observa as chamadas dos andares e reage conforme elas ocorrem.
O Projeto:
- Implementação do padrão Observer: o elevador como um
Observable
, os andares comoObservers
. - Aplicação dos pilares da POO:
- Encapsulamento das lógicas de movimentação e chamada;
- Abstração do comportamento do elevador;
- Herança e polimorfismo prontos para versões futuras com novos tipos de elevadores.
Desafios e Próximos Passos:
Atualmente estou implementando melhorias como:
- Execução concorrente das chamadas (paralelismo);
- Prioridade nas rotas;
- Novos tipos de elevadores com lógicas empresariais, onde o destino é informado já na chamada.
Link para o repositório:
🔗 https://github.com/GabrielF-S/elevator_project 🔗
Essa foi uma forma divertida e prática de aplicar teoria em um projeto do mundo real. Ficou curioso? Confira o repositório, deixe seu feedback e me diga: que outro sistema do dia a dia você modelaria em código?