Componentes do Modelo

Composição dos componentes do Modelo UML.

  • Classe Pedido: Representa um pedido feito por um cliente, com a propriedade Descricao para armazenar o tipo de pedido (ex: "Pizza Margherita").

  • Interface IHandler: Define a interface para os manipuladores de pedido, com os métodos HandleRequest(Pedido), SetNext(IHandler) e BreakChain().

  • Classe abstrata BaseHandler: Implementa a interface IHandler e fornece funcionalidades básicas para os manipuladores, como armazenar o próximo manipulador na cadeia (_next) e métodos para passar o pedido para o próximo elo (NextHandleRequest) e interromper a cadeia (BreakChain).

  • Classes dos Manipuladores:

    • AtenderClienteHandler: Implementa o método HandleRequest para simular o garçom atendendo o cliente.

    • ReceberPedidoHandler: Implementa o método HandleRequest para simular o garçom recebendo o pedido.

    • PrepararPedidoHandler: Implementa o método HandleRequest para simular a cozinha preparando o pedido.

    • EntregarPedidoHandler: Implementa o método HandleRequest para simular a entrega do pedido ao cliente.

Relacionamentos:

  • Agregação: As classes AtenderClienteHandler, ReceberPedidoHandler, PrepararPedidoHandler e EntregarPedidoHandler herdam da classe abstrata BaseHandler, que implementa a interface IHandler. Isso indica uma relação de agregação, onde as classes filhas (manipuladores) são "parte de" e dependem da classe base (BaseHandler) para sua funcionalidade principal.

  • Composição: A propriedade _next em BaseHandler armazena uma referência para o próximo manipulador na cadeia. Essa relação é de composição, pois um manipulador "possui" e é responsável por gerenciar o próximo elo da cadeia.

Last updated