3 Modelos Para Modelar a Complexidade

Abstração
Encapsulamento
Hierarquia

Tratar os objetos que são semelhantes como um "tipo/categoria".

O objeto é uma unidade que esconde o seu estado interno.

Procurar relações "é-um" (is-a).

A interação com o objeto é feita através de "pontos de acesso".

Procurar relações "parte-de" (part-of).

Abstração

Decorre do reconhecimento de semelhanças entre certos objetos, situações ou processos no mundo real, e a decisão de se concentrar nestas semelhanças -> um tipo de coisa.

Uma abstração denota as características essenciais de um objeto que o distingue de todos os outros tipos de objetos.

Encapsulamento

Incentiva a ocultação da estrutura (interna) de um objeto (a informação que mantém), bem como a implementação dos seus métodos.

Nenhuma parte de um sistema complexo deve depender do conhecimento dos detalhes internos de qualquer outra parte.

O encapsulamento permite que as alterações de um programa sejam feitas de forma fiável, repercussões limitadas.

Contribuição para gerir complexidade

Escondendo a dimensão "privada" (interna) das nossas abstrações.

Hierarquia

Relação de herança

Define uma relação entre classes, em que uma classe partilha/especializa a estrutura ou comportamento definido numa outra classe.

A herança denota uma relação semântica "is-a".

Relação de agregação

Define uma relação entre categorias de coisas, do tipo "parte-of".

A agregação denota a relação semântica "parte-of".

Last updated