Componentes do Modelo
Composição dos componentes do Modelo UML.
Classe
Pedido
: Representa um pedido feito por um cliente, com a propriedadeDescricao
para armazenar o tipo de pedido (ex: "Pizza Margherita").Interface
IHandler
: Define a interface para os manipuladores de pedido, com os métodosHandleRequest(Pedido)
,SetNext(IHandler)
eBreakChain()
.Classe abstrata
BaseHandler
: Implementa a interfaceIHandler
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étodoHandleRequest
para simular o garçom atendendo o cliente.ReceberPedidoHandler
: Implementa o métodoHandleRequest
para simular o garçom recebendo o pedido.PrepararPedidoHandler
: Implementa o métodoHandleRequest
para simular a cozinha preparando o pedido.EntregarPedidoHandler
: Implementa o métodoHandleRequest
para simular a entrega do pedido ao cliente.
Relacionamentos:
Agregação: As classes
AtenderClienteHandler
,ReceberPedidoHandler
,PrepararPedidoHandler
eEntregarPedidoHandler
herdam da classe abstrataBaseHandler
, que implementa a interfaceIHandler
. 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
emBaseHandler
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