O que é/são Design Patterns?
Nesse artigo daremos início a série sobre Design Patterns de publicações sobre o tópico de Design patterns ou em português padrões de projeto aplicado em swift.
Definição:
Os Padrões de projeto, basicamente, soluções generalistas para algum problema ou situação que os desenvolvedores enfrentam no dia-a-dia ao codificar.
Benefícios:
Ao usar os patterns a equipe de desenvolvedores ganham diversas vantagens durante o processo de codificar, sendo alguns deles:
- Produtividade.
- Organização.
- Manutenção.
- Baixo acoplamento.
- Padronização de código.
Tipos de Patterns:
No livro de GOF (Gang of Four) - "Design Patterns: Elements of Reusable Object-Oriented Software" categorizaram os padrões em 3 tipos diferentes, sendo eles:
- Criativa (ou informalmente criacional)
- Estrutural
- Comportamental
Padrões Criativos:
Provem Objetos e mecanismos de criação melhorando a flexibilidade do código e seu reuso. Eles são:
- Fabrica Abstrata (Abstract Factory)
- Método Fabrica (Abstract Factory)
- Construtor (Builder)
- Protótipo (Prototype)
- Singleton
Padrões Estruturais:
Usado para conectar estruturas e classes e/ou permitir seu crescimento de forma flexível e eficiente. Eles são:
- Adaptador (Adapter)
- Ponte (Bridge)
- Composto (Composite)
- Decorador (Decorator)
- Fachada (Facade)
- Flyweight
- Proxy
Padrões Comportamentais:
Basicamente se preocupa com o processo (Algoritmo) e atribuição de responsabilidades entre objetos do sistema. Eles são:
- Cadeia de resposabilidade (Chain of Responsability)
- Comando (Command)
- Iterador (Iterator)
- Mediador (Mediator)
- Lembrança (Memento)
- Observador (Observer)
- Estatdo (State)
- Estrategia (Strategy)
- Metodod de Modelo (Template Method)
- Visitante (Visitor)
Conclusão
Diante da apresentação desses tipos de padrões e quais são eles, artigos futuros serão feitos abordando cada um separadamente, com o intuito de instruir seu uso e sua implementação. Portanto, assim que postado essa pagina sera atualizada facilitando o acesso.
Bibliografia:
Helm, Richar; Vilissides, Jhon; Johnson, Ralph; Gamma, Eric. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994
lutti. Design Patterns — O que são e quais os benefícios?, Opus, 2018. Disponível em: <https://platzi.com.br/blog/programacao-estruturada/>. Acesso em: 01, outubro de 2022