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