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

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

Separation of Concerns (SoC)

Apresentações semelhantes


Apresentação em tema: "Separation of Concerns (SoC)"— Transcrição da apresentação:

1 Separation of Concerns (SoC)

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

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

4 SoC 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.

5 Tipos de Concern Os concerns estão divididos em dois tipos:
SoC Tipos de Concern Os concerns estão divididos em dois tipos: 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 Vantagens Limitações SoC Alto Grau de Modularidade
Reuso de Componentes Baixa complesxidade no Desenvolvimento Bom mecanismo para separação de concerns Limitações Dificuldade para resolver crosscutting concerns Entrelaçamento do código Espalhamento do código

7 SoC 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.

8 SoC 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 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
SoC 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.

10 Formas de Encapsulamento
SoC Formas de Encapsulamento 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 SoC 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.

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


Carregar ppt "Separation of Concerns (SoC)"

Apresentações semelhantes


Anúncios Google