AbstraÇÃO




O ato de considerar uma coisa ou uma qualidade geral ou característica, separando-a da realidade concreta, objetos específicos ou instâncias existentes.




Por que abstraímos?


Linguagens de 
Programação 


As MELHORes AMIGAs DO DESENVOLVEDOR 

Machine code

NO ABSTRACTION (AT ALL)

AssemBLY


MNEMONICS / MACROS

Imperative programming


FLUX CONTROL (GOTO)

Procedural Programming


DATA STRUCTURES / MODULARITY

Structured Programming


SELECTION (IF/ELSE)  & REPETITION (WHILE/FOR/ETC)

Object Oriented Programming


OBJECTS

 TRADING MESSAGES

S.O.L.I.D.


5 princípios básicos pra se escapar de escrever código triste.

Single 
Responsibility 
Principle



Uma classe deve ter  SOMENTE UMA  responsabilidade.

Open/closed 
principle


“Entidades de software devem ser abertas para extensão e fechadas para modificação”.

(Novas funcionalidades devem ser inseridas tocando o mínimo possível no código existente )

Liskov 

substitution principle


“Objetos em um programa devem poder ser substituidos por instâncias de seus sub-tipos sem alterar A corretude do programa.""

Interface

 segregation principle


“Muitas interfaces específicas para clientes são PREFERÍVEIS A uma interface de propósito geral.”

Dependency inversion principle

Sempre dependa de interfaces, e não de implementações concretas.

(Injeção de dependencia é uma maneira de seguir esse princípio.)


Happy Coding

Abstractions in Software Development

By romulobr

Abstractions in Software Development

  • 722