Executando verificação de segurança...
7

Como devo estudar padroes de projeto?

Estou estudano php, e hoje me pergutaram qual padrão de projeto eu utilizo depois de pensar um pouco a unica palavra que veio a mente foi MVC, mas tbm me perguntaram sobre padrão estrutural, foi pesquisar e fiquei meio perdido sobre cada um. ja sei o basico e um pouco de intermediario, ainda estou procurando estagio na area, não construi muitos projetos. devo me preocupar em estudar? como devo começar a estudar?

Carregando publicação patrocinada...
1

Na época em que aprendi, comecei com o livro "Padrões de Projetos da coleção Use a Cabeça", tem os principais padrões e ta escrito de maneira bem didática.
Mas claro, você tem que colocar em prática.

1

Posso estar errado, mas acredito que o seu perfil seja mais voltado ao backend. Eu tenho quase três anos em uma mesma empresa e entrei com um conhecimento que ainda não tinha sido aplicado na vida real, porém, fui fazendo e aprendendo de acordo com a necessidade.

Podemos confundir arquitetura com padrões, mas meu achismo diz que eles estão bem ligados. Eu já tinha ouvido falar de vários termos, e um deles era "padrão de projeto". Eu mal sabia o que era até começar a implementar um, e ainda digo mais, com ajuda de quem sabia muito mais que eu.

Padrões de projeto servem pra poder resolver problemas conhecidos, por isso se tornam "padrões". Você pode, até sem perceber, estar usando um padrão agora mesmo ou talvez desenvolver o seu padrão pessoal.

Sua preocupação é válida:

  1. Padrões eu sua maioria não são fáceis de implementar
  2. Às vezes um padrão não é 100% implementado como está nos livros/tutoriais. Há variações e adaptações
  3. Padrões exigem um cuidado na sua implementação, pois eles também podem acrescentar uma carga cognitiva ao ler o código

Eu tenho o livro "Padrões de Projeto" e essa versão que possui, pelo menos pelo que contei, são 23 padrões. Eles estão divididos em três categorias

  1. Creational Patterns (5 padrões)
  2. Structural Patterns (7 padrões)
  3. Behavioral Patterns (11 padrões)

Bom... já deu pra entender que o que mais tem nesse mundo de dev são padrões de projeto, né?

Gostaria de deixar aqui o próprio livro como citei e também o site Refactoring Guru que apresenta vários patterns e suas complexidades e implementação.

Novamente, sua preocupação é válida e você vai aprender muita coisa na prática.

1

Se você está começando a se aprofundar em Programação Orientada a Objetos (POO), o primeiro passo é entender bem os conceitos fundamentais. Veja se você já domina os seguintes itens:

Classe: Define o molde para criar objetos, especificando atributos e métodos.
Objeto: É uma instância de uma classe, representando entidades com estados e comportamentos.
Encapsulamento: Protege os dados de um objeto e restringe o acesso direto aos seus atributos, permitindo modificações apenas através de métodos controlados.
Herança: Facilita a reutilização de código, permitindo que uma classe herde características de outra.
Polimorfismo: Permite que diferentes objetos respondam ao mesmo método de maneiras específicas, dependendo do contexto.
Abstração: Simplifica a complexidade, exibindo apenas os detalhes essenciais e ocultando a implementação interna.
Se você já domina esses conceitos, o próximo passo é aprender os princípios SOLID, que são pilares para escrever um código mais robusto e fácil de manter. Após isso, você pode partir para o estudo de padrões de projeto.

📚 Recomendações de leitura:

Use a Cabeça! Padrões de Projeto (Head First Design Patterns): Este livro oferece uma didática acessível e lúdica, facilitando a compreensão dos padrões de projeto.
Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos: Esta é uma leitura mais técnica e completa, considerada a referência oficial sobre o assunto.

💡 Dica prática:
Ao estudar os padrões, evite se prender a exemplos genéricos como "classe Carro". Em vez disso, crie um projeto real para aplicar os conceitos. Uma abordagem que tem funcionado bem para mim é usar o ChatGPT para explorar situações práticas de uso. Por exemplo, você pode perguntar em quais contextos específicos um padrão como o Singleton ou Observer seria útil e obter exemplos reais de aplicação. Essa técnica ajuda a relacionar os padrões a problemas de verdade, superando os exemplos simplificados que vemos por aí.

Explore e pratique — é assim que você realmente aprenderá a aplicar esses conceitos em seus projetos! 🚀