Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise e Projeto Msc Luiz Barboza Padrões de Arquitetura Camadas e MVC EntityModelPersistência ControlControlNegócio Boundary ViewGUI Classes de Análise MVCCamadas Um abstração Descreve: Propriedades (atributos) Comportamento (operações) Relacionamentos Semântica Nome da classe Atributos Operações Professor name ProfessorId : UniqueId create() save() delete() change() UML Representação de Classe Boundary Entity Control <<boundary>> <<control>> <<entity>> = = = MVC em UML Modela a interação entra o núcleo do sistema e seus arredores GUI – Interface gráfica do usuário Interface com sistemas externos Dependente de ambiente Dependente da GUI Dependente do protocolo de comunicação com o sistema externo Boundary Boundary Customer <<boundary>> <<boundary>> <<control>> <<boundary>> <<entity>> <<entity>> Boundary Controla o comportamento de uma funcionalidade É acionada por uma Boundary e faz acesso a uma ou mais Entities É independente de ambiente, e concentra as regras de negócio Control Control Control Este tipo de classe deve fazer o controle de fluxo de negócio Ela deve ser utilizada para centralizar as regras de negócio Control Representa entidade do domínio de negócio Representa informação persistente Independe de ambiente e altamente reusável. Entity Entity Entity Deve representar entidades do domínio do problema Deve conter as validações de negócio que sao restritas a estas entidades. Entity Pela interações é possível identificar os métodos Boundary Control orderID date salesTotal tax shipDate ca da str arC lie nte () cadastrarCliente() Mensagem Identificação dos Métodos 1: cadastrarCliente() Objeto Cliente Objeto Fornecedor Mensagem :Boundary :Control Escopo de atividade Chamada local Linha de vida 1.1: validarCredito() Numeração de seqüência de mensagens UML: Diagrama de Seqüência UML: Diagrama de Classe Com base nas comunicações é possível estabelecer os relacionamentos Considerando o padrão MVC, temos tipicamente a seguinte estrutura. View // Render the models() // Request updates from models() // Send user gestures to controller() // Allows controller to select view() Controller // Defines application behavior() // Maps user actions to model updates() // Selects view for response() // One for each use-case() Model // Encapsulates application data() // Responds to state queries() // Exposes application functionality() // Notifies view of changes() <<subscribe>> Análise e Projeto Msc Luiz Barboza
Compartilhar