US2011 - ArthurSchiavom/gestao-informacao-chao-de-fabrica--projeto-academico GitHub Wiki
=======================================
Como Gestor de Produção, eu pretendo consultar as ordens de produção que estão num determinado estado (e.g. em execução). Deve permitir consultar o detalhe de cada ordem de produção.

Classe do domínio: Categoria Controlador: DefinirCategoriaController Repositório: CategoriaRepository


- Command - Para implementar a ação de registar novas categorias
- Repository Pattern - Para abstrair o sistema de persistência de objetos, facilitando a implementação com diferentes tecnologias
- Controller - Para separar o layer da interface do layer de domínio, introduzindo então um layer de aplicação encarregue do processamento, mas não responsável por caracterizar o negócio ou interagir com o utilizador.
- Polymorphism & Template method - Usado na implementação do repositório específico de cada entidade.
- Liskov Substitution principle & Dependency inversion - Em todas as implementações de interfaces e extensões de classes.
- Pure fabrication - Controller e UI.
- Information expert & HC/LC - Sempre presente: cada classe tem uma responsabilidade bem definida, visando a sua independência de outras classes.
- Singleton - Utilizado na RepositoryFactory
- Data Transfer Object - Para mostrar a informação dos objetos retornados pelo repositório.