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
- 789


