Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/growthdev-repo/design-patterns
Exemplos em PHP dos 23 Padrões de Projetos (Design Patterns) relacionados ao Livro GOF
https://github.com/growthdev-repo/design-patterns
composer design-patterns padroes-de-projetos php php-8 php8 phpunit
Last synced: 3 months ago
JSON representation
Exemplos em PHP dos 23 Padrões de Projetos (Design Patterns) relacionados ao Livro GOF
- Host: GitHub
- URL: https://github.com/growthdev-repo/design-patterns
- Owner: growthdev-repo
- License: mit
- Created: 2021-11-04T22:51:45.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-31T21:11:40.000Z (about 3 years ago)
- Last Synced: 2024-09-29T20:03:24.767Z (4 months ago)
- Topics: composer, design-patterns, padroes-de-projetos, php, php-8, php8, phpunit
- Language: PHP
- Homepage:
- Size: 90.8 KB
- Stars: 9
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Padrões de Projetos (Design Patterns)
Exemplos em PHP dos 23 Padrões de Projetos (Design Patterns) relacionados ao Livro GOF.
Procurei organizar todos os padrões segundo a sua categoria, separados por pastas e em cada pasta coloquei o diarama UML para ajudar no entendimento.
Casos você queira se aprofundar no tema, não deixe de conheceu o site Growth Dev:
[https://growthdev.com.br](https://growthdev.com.br/)Disponibilizei diversos artigos sobre Padrões de Proejtos utilizando PHP, onde você pode acessar no meu site:
- [Resumo dos Padrões de Projetos (Design Patterns)](https://growthdev.com.br/design-pattern/resumo-dos-padroes-de-projetos-design-patterns/)
- [Descomplicando os Padrões de Projetos (Design Patterns)](https://growthdev.com.br/design-pattern/descomplicando-os-padroes-de-projetos-design-patterns/)## Organização do Projeto linkando para o tutorial:
- `src/`
- `Behavioral/`
- [Padrão de Projeto Strategy em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-strategy-em-php-com-exemplo/)
- [Padrão de Projeto Template Method em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-template-method-em-php-com-exemplo/)
- [Padrão de Projeto Mediator em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-mediator-em-php-com-exemplo/)
- [Padrão de Projeto Iterator em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-iterator-em-php-com-exemplo/)
- [Padrão de Projeto Command em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-command-em-php-com-exemplo/)
- [Padrão de Projeto Chain of Responsability em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-chain-of-responsability-em-php-com-exemplo/)
- [Padrão de Projeto Visitor em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-visitor-em-php-com-exemplo/)
- [Padrão de Projeto Observer em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-observer-em-php-com-exemplo/)- `Creational/`
- [Padrão de Projeto Abstract Factory em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-abstract-factory-em-php-com-exemplo/)
- [Padrão de Projeto Builder em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-builder-em-php-com-exemplo/)
- [Padrão de Projeto Factory Method em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-factory-method-em-php-com-exemplo/)
- [Padrão de Projeto Prototype em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-prototype-em-php-com-exemplo/)
- [Padrão de Projeto Singleton em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-singleton-em-php-com-exemplo/)
- `Structural/`
- [Padrão de Projeto Composite em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-composite-em-php-com-exemplo/)
- [Padrão de Projeto Adapter em PHP com exemplo](https://growthdev.com.br/design-pattern/padrao-de-projeto-adapter-em-php-com-exemplo/)
- `tests/`
- `Behavioral/`
- `Creational/`
- `Structural/`
A estrutura da pastas de `tests/` segue a mesma estrutura
## Instruções
Este projetos tem um arquivo `Makefile` para a execução dos testes
1. Faça clone deste projeto:
`git clone https://github.com/growthdev-repo/design-patterns.git`
2. Entre no na pasta do projeto:
`cd design-patterns`
3. Execute a instalação dos pacotes do `ccomposer`:
`composer intall`
4. Para executar os testes dos padrões basta executar no terminal:
`make test`
5. Para executar os testes de uma classe especídica:
`make test NomeDaClass`
## Sobre nósEste projeto foi desenvoldido por Walmir Silva autor do blog [https://growthdev.com.br](https://growthdev.com.br/)