A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Separation of Concerns (SoC). Separation = Separação SoC Concerns = Interesses, Preocupações, Responsab. Definição.

Apresentações semelhantes


Apresentação em tema: "Separation of Concerns (SoC). Separation = Separação SoC Concerns = Interesses, Preocupações, Responsab. Definição."— Transcrição da apresentação:

1 Separation of Concerns (SoC)

2 Separation = Separação SoC Concerns = Interesses, Preocupações, Responsab. Definição

3 Divisão do sistema Requisitos Funcionais Requisitos Não funcionais SoC Ex. Requisito Funcional Cadastro de Cliente Ex. Requisito Não Funcional Tratamento de Erros Autorizações Persistência

4 Para se ter um sistema de fácil gerenciamento é comum a identificação e separação dos problemas e funcionalidades de acordo com suas características em comum. Esses problemas são conhecidos pelo nome de concerns. SoC

5 Tipos de Concern Os concerns estão divididos em dois tipos: SoC core concern (requisito central): Abrange as funcionalidades centrais do módulo, posicionando- se de forma bem localizada, são os requisitos funcionais do sistema; crosscutting concern (requisito transversal) são tipos especiais de concerns, que afetam outros de forma transversal. Eles compõem os requisitos não- funcionais do sistema responsáveis por restrições e propriedades sistêmicas, como sincronização, persistência, entre outros.

6 POO e Concerns SoC Alto Grau de Modularidade Reuso de Componentes Baixa complesxidade no Desenvolvimento Bom mecanismo para separação de concerns Vantagens Dificuldade para resolver crosscutting concerns Entrelaçamento do código Espalhamento do código Limitações

7 Apesar de muito útil e eficaz, a POO tem suas limitações, podendo ser facilmente utilizada para resolver os core concerns, porém é insuficiente para solucionar a maior parte dos crosscutting concerns (por exemplo, persistência de dados, segurança, auditoria, etc). Essa dificuldade causa o entrelaçamento e o espalhamento de código, tornando o sistema complexo e de difícil manutenção. SoC

8 Objetivo SoC Um objeto deve fazer apenas uma tarefa e fazê-la bem. Não se deve preocupar com o que os outros objetos fazem SoC Num sistema macroscópico em que um objeto coordena objetos menores, ele confia que esses objetos executam bem a sua tarefa e não se preocupa com o como eles a executam. A única coisa que tem que existir entre todos os objetos é o consenso de com o quê, cada um, deve se preocupar.

9 Como alcançar o Objetivo A única resposta a esta pergunta é: Encapsulamento. É através das diferentes formas de encapsulamento que o objeto concretiza seu objetivo. SoC

10 Formas de Encapsulamento SoC A Classe detém todos os conhecimento sobre o objeto: como o criar e destruir, o que ele faz e o que é. A Classe é a tradução da primeira forma de encapsulamento. Os modificadores de acesso (default, protected, private e public) instituem diferentes níveis de oclusão implementando assim, a segunda forma de encasupalmento. A Interface dá corpo à terceira forma de encapsulamento, permitindo que um só objeto tenha várias caras e execute o mesmo trabalho sob condições diferentes.

11 Embora os artefatos embutidos na linguagem sejam os blocos fundamentais da construção de objetos e implantação do Principio de Separação de Responsabilidades existem diferentes combinações possíveis. O uso exaustivo dessas combinações levar-nos-á a encontrar um conjunto de padrões recorrentes que poderemos então usar diretamente na construção de nossos objetos: os Padrões de Projeto. SoC

12 Promessa para resolução do problema de espalhamento e entrelaçamento, visando o crosscutting concern: POA – Programação Orientada a Aspecto SoC


Carregar ppt "Separation of Concerns (SoC). Separation = Separação SoC Concerns = Interesses, Preocupações, Responsab. Definição."

Apresentações semelhantes


Anúncios Google