Artefato sobre Padrões de Projeto
Introdução
Este artefato tem como objetivo apresentar uma visão abrangente sobre os Padrões de Projeto, abordando suas categorias principais, como os padrões GRASP e GoF, além de discutir os padrões emergentes. O foco é fornecer uma base teórica e prática que auxilie no entendimento e aplicação desses conceitos no desenvolvimento de software.
Metodologia
O artefato foi concebido a partir de uma revisão da literatura sobre padrões de projeto, combinando conteúdos teóricos com exemplos práticos. As aulas foram estruturadas para incluir discussões interativas e a exploração de conteúdos complementares disponíveis online. O uso de uma wiki colaborativa no Moodle também permitiu que os alunos contribuíssem com suas próprias descobertas e experiências relacionadas aos padrões de projeto.
Padrões de Projeto GRASP
Os padrões GRASP (General Responsibility Assignment Software Patterns) são diretrizes para a atribuição de responsabilidades a classes e objetos. Eles incluem conceitos como "Informação Expert", "Criador", "Controlador", entre outros. Cada padrão oferece uma abordagem para resolver problemas comuns de design, promovendo a coesão e o baixo acoplamento.
Padrões de Projeto GoF Criacionais
Os padrões criacionais do GoF (Gang of Four) são focados na criação de objetos. Eles incluem padrões como Singleton, Factory Method, Abstract Factory e Builder. Esses padrões ajudam a abstrair a instância de objetos, facilitando a criação de sistemas flexíveis e escaláveis, além de promover a reutilização de código.
Padrões de Projeto GoF Estruturais
Os padrões estruturais do GoF tratam da composição de classes e objetos. Exemplos incluem Adapter, Composite, Proxy e Decorator. Esses padrões permitem que os desenvolvedores formem estruturas complexas de forma mais eficiente, promovendo a reutilização e a organização do código.
Padrões de Projeto GoF Comportamentais
Os padrões comportamentais do GoF se concentram na interação e na responsabilidade entre objetos. Padrões como Observer, Strategy, Command e Iterator são exemplos que ajudam a definir como os objetos se comunicam e colaboram entre si, facilitando a manutenção e a extensibilidade do sistema.
Padrões de Projeto Emergentes
Os padrões emergentes são aqueles que surgem a partir das práticas e experiências da comunidade de desenvolvedores. Eles refletem novas abordagens e soluções para problemas contemporâneos no desenvolvimento de software. A colaboração em wikis e fóruns online tem sido fundamental para a disseminação e evolução desses padrões.
Bibliografia
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). *Design Patterns: Elements of Reusable Object-Oriented Software*. Addison-Wesley.
Larman, C. (2004). *Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development*. Prentice Hall.
Martin, R. C. (2008). *Clean Code: A Handbook of Agile Software Craftsmanship*. Prentice Hall.
Histórico de Versão
Versão | Data | Descrição | Autor(es) | Revisor(es) |
---|---|---|---|---|
1.0 |
23/07/2024 | Confecção do artefato | João Lucas | Yankee |