se um objeto precisa de algo de outro, o método construtor precisa
explicitamente requisitar eles
Responsabilidade única
os objetos precisam ter uma única responsabilidade
precisam também ter apenas uma razão para existir ou deixar de
existir
devem fazer essa única coisa muito bem
DRY(don’t repeat yourself)
não se replica conhecimento num mesmo contexto
para contextos diferentes isso não é necessariamente obrigatório
refatorar e extrair para uma coisa só, já q partes diferentes
significam coisas diferentes
partes do mesmo contexto deve ser refatoradas para deixar o
conhecimento especializado em um local só
Ignorância de persistência
persistência aqui significa o meio que você salva coisas, com o BD
o sistema deve ser agnóstico ao sistema de persistência
usar coisas como ORM ou outras abstrações
Contexto limitado
dividir o sistema em módulos de mesmo contexto (RH, Contabilidade,
Log, etc)
são usadas interfaces quando há necessidade de comunição entre eles