Algumas pessoas que fazem código, acham melhor entregar rápido do que entregar bem
Então poderiamos dizer que design de software se divide nisso?
O melhor seria isso
Patterns
Soluções "gerais" repetitiveis, para resolverem problemas comuns.
Cristopher Alexander, 1977
Um padrão descreve uma solução comprovada para um problema recorrente no design
Gang of Four, 1994
Cataloga e explica padrões comuns para resolver problemas de software orientado a objetos.
E como ninguém conhece esse livro?
O mesmo livro com outra capa
Sim, é um livro de arquitetura e urbanismo
Design Patterns
Principles
Representam guidelines de alto nível ou boas práticas para considerar ao projetar a arquitetura do software.
Design Principles
Porque comparar os 2? Se são diferentes dos iguais
Principles | Guias para tomar decisões de design. |
---|---|
Patterns | Soluções prontas para problemas recorrentes. |
Principles | Guias para tomar decisões de design. |
---|---|
Patterns | Soluções prontas para problemas recorrentes. |
Principles | Guias para tomar decisões de design. |
---|---|
Patterns | Soluções prontas para problemas recorrentes. |
Temos um problema: Criar um esquema de dar descontos nos ingressos do evento
O que usamos ali?
Pattern ou Principle?
E qual?
SOLID
Podemos simplesmente criar outro tipo de desconto sem afetar as classes existentes
Outro problema: Gravar logs
O que foi isso aqui?
Abstract Factory
E com isso a gente vê o quanto essa Teoria é Prática
Como dizia minha ex:
Temos que terminar
DÚVIDAS?