📚 Aplicação de Padrões de Projeto

Aplicação dos Princípios GRASP

Information Expert

No sistema, a classe Estoque é responsável pelos métodos registrarEntrada(), registrarSaida() e consultarQuantidade(), pois possui as informações necessárias para controlar a quantidade disponível de cada insumo.

Da mesma forma, a classe Insumo gerencia seus próprios dados por meio dos métodos cadastrar(), consultar() e atualizar(), concentrando as responsabilidades relacionadas aos insumos.


Creator

A classe Estoque mantém uma relação direta com diversos objetos da classe Insumo, sendo responsável pelo gerenciamento dos itens armazenados. Dessa forma, ela possui responsabilidade natural pela criação e gerenciamento desses objetos dentro do sistema.


Controller

Na arquitetura em camadas adotada, o Controller recebe as solicitações da View, coordena o fluxo da aplicação e encaminha as operações para a camada Service, responsável pela execução das regras de negócio.


Low Coupling

A arquitetura em camadas reduz o acoplamento entre os componentes da aplicação, separando claramente as responsabilidades entre View, Controller, Service, Repository e Model, facilitando manutenção e evolução do sistema.


High Cohesion

Cada classe possui uma responsabilidade específica.