Pular para conteúdo

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