O PHP cresceu muito e com isso veio a saga dos Frameworks. Eles são ótimos para agilizar o desenvolvimento de qualquer aplicação. São legais... Só que não!.. Quer dizer, em partes. Frameworks têm dificultado coisas simples. Eles têm causado infartes nos corações das apps, dando muito trabalho a times de desenvolvimento. Mostraremos como arquitetar sua app sem uma forte dependência de um framework.
2. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
Sobre mim...
3. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
Sobre mim...
4. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
- APAIXONADO por Arquitetura de Software
Sobre mim...
5. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
- APAIXONADO por Arquitetura de Software
- Músico, Produtor, DJ… essas coisas aí.
Sobre mim...
6. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
- APAIXONADO por Arquitetura de Software
- Músico, Produtor, DJ… essas coisas aí.
- @yourwebmaker
Sobre mim...
7. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
- APAIXONADO por Arquitetura de Software
- Músico, Produtor, DJ… essas coisas aí.
- @yourwebmaker (só escrevo besteira)
Sobre mim...
8. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
- APAIXONADO por Arquitetura de Software
- Músico, Produtor, DJ… essas coisas aí.
- @yourwebmaker (só escrevo besteira)
- fb.com/dlpinheiro
Sobre mim...
9. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
- APAIXONADO por Arquitetura de Software
- Músico, Produtor, DJ… essas coisas aí.
- @yourwebmaker (só escrevo besteira)
- fb.com/dlpinheiro
Sobre mim...
10. - Daniel Lima dos Anjos Pinheiro, a.k.a “Tonho da Lua”
- Programador há “um tanto” de tempo (+10 anos)
- APAIXONADO por Arquitetura de Software
- Músico, Produtor, DJ… essas coisas aí.
- @yourwebmaker (só escrevo besteira)
- fb.com/dlpinheiro
Sobre mim...
12. - Maior site de cifras do Brasil
- 560mil visitas diárias
- Projeto de 18 anos e…. crescendo!
13. - Código legado em alguns lugares
- Código espalhado
- “Feito em casa”
- Despadronizado
- Difícil de manter
23. Phalcon
Contras
- Escrito em C
- Quem aqui é um bom desenvolvedor C?
- Péssimo para testar
- “final” em diversos métodos
- Péssimo para debugar
- Stack-trace? Onde? Como?
36. - Isso não é receita de bolo!
- Assim como quase tudo em dev também não é!
- Talvez não seja o caso para sites novos!
- Não é necessário reinventar a roda!
Pense!
46. Domain
Domain
Services
Entities Repositories Value Objects Factories
- Exibir cifras
- Transpor cifras
- Listar músicas
- Ver video aulas
- Enviar cifra
- Moderar cifra
- Moderar usuários
- Top artistas por periodo
- Top cifras por periodo
- Segredinhos =)
48. Domain
Domain
Services
Entities Repositories Value Objects Factories
Domain é vida!
- Independente do framework, ele será o mesmo!
- Se importe com ele, de verdade =)
- Coração da sua aplicação!
- Ele NÃO DEVE saber qual framework é usado.
- Ele NÃO DEVE saber qual banco ou infra é usada.
74. class DomainClass
{
public function fazAlgumaCoisa()
{
$infraObject = new InfraClass;
$applicationObject = new ApplicationClass;
$uiObject = new UIClass;
}
}
#ruim
75. class DomainClass
{
public function fazAlgumaCoisa(
DomainInterfaceX $infraObject,
DomainInterfaceY $appObject,
DomainInterfaceZ $uiObject,
)
{ //.. }
}
#bom
94. Referências
Patterns of Enterprise Application
Architecture
Domain-Driven Design: Tackling
Complexity in the Heart of Software
Refactoring: Improving the Design
of Existing Code