Componentes do Modelo
Composição dos componentes do Modelo UML.
Classe
Pedido: Representa um pedido feito por um cliente, com a propriedadeDescricaopara 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 interfaceIHandlere 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étodoHandleRequestpara simular o garçom atendendo o cliente.ReceberPedidoHandler: Implementa o métodoHandleRequestpara simular o garçom recebendo o pedido.PrepararPedidoHandler: Implementa o métodoHandleRequestpara simular a cozinha preparando o pedido.EntregarPedidoHandler: Implementa o métodoHandleRequestpara simular a entrega do pedido ao cliente.
Relacionamentos:
Agregação: As classes
AtenderClienteHandler,ReceberPedidoHandler,PrepararPedidoHandlereEntregarPedidoHandlerherdam 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
_nextemBaseHandlerarmazena 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