/sistema-pedidos-pizza

backend em node.js para um sistema de pedidos de pizza com API REST, MongoDB e também implementação de Design Patterns.

Primary LanguageJavaScript

Projeto para exemplificar alguns padrões de design bem conhecidos, como o Facade, o Observer e o State.

O padrão Facade é usado para fornecer uma interface simplificada para os modelos Customer e Order. Isso torna mais fácil para os clientes dos facades interagirem com os modelos.

O padrão Observer é usado para permitir que um objeto notifique outros objetos de mudanças em seu estado. Isso permite que outros componentes do sistema sejam notificados de mudanças nos pedidos sem ter que consultar diretamente o banco de dados.

O padrão State é usado para representar os diferentes estados de um pedido. Isso torna mais fácil para o projeto controlar o fluxo de trabalho de um pedido, verificando o estado do pedido.

O projeto também utiliza a classe ModelFactory para facilitar a criação de instâncias dos modelos Customer e Order. A ModelFactory é um exemplo do padrão de projeto Factory Method, que define uma interface para criar um objeto, mas deixa a instanciação real para as subclasses.

A arquitetura do projeto é flexível e reutilizável. O projeto pode ser facilmente expandido para adicionar novos recursos ou melhorar o desempenho.