Escolar Documentos
Profissional Documentos
Cultura Documentos
quais os benefícios?
26/09/2018 / por lutti
Origem
Em 1978 os arquitetos Christopher Alexander, Sara Ishikawa e Murray
Silverstein escreveram um livro chamado “A Pattern Lang uag e: Towns,
Building s, Construction” que foi publicado em português com o nome
“Uma Linguagem de Padrões”. Neste livro os autores catalogaram 253
tipos de problemas (ou desafios de projeto) e analisaram o que está por
trás de cada situação, descrevendo-as na sua essência e propondo uma
solução padrão.
Desde então, Design Patterns tem sido um tema bastante estudado por
programadores e arquitetos de software pelo mundo todo.
Por vezes alguns padrões deixam de ser utilizados devido a evolução das
linguagens de programação e a utilização de novos padrões que melhor
atendem alguns cenários. Um exemplo disso é o padrão Service Locator,
que acabou caindo em desuso devido aos padrões Dependency Injection
e Inversion of Control, que juntos conseguem desacoplar as
dependências de uma forma mais organizada que o Service Locator.
Design Patterns GoF
Os autores do livro “Desig n Patterns: Elements of Reusable Object-
Oriented Software” agruparam os Design Patterns em três tipos
diferentes: Creational (Criação), Structural (Estrutura), Behavioral
(Comportamental).
Abstract Factory
Builder
Factory Method
Prototype
Singleton [https://www.opus-software.com.br/singleton-design-
pattern/]
Adapter
Bridge
Composite
Decorator
Façade
Flyweight
Proxy
Behavioral Patterns
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
Padrões arquiteturais
Interceptor
n-tier
Specification
Publish–subscribe
Inversion of control
Dependency Injection
Intercepting filter
Lazy loading
Mock object
Method chaining
Inversion of control
Unit of Work
Conclusão
Conhecer Design Patterns é algo de extrema importância no
desenvolvimento de qualquer software. A utilização desses padrões nos
ajuda a desenvolver de forma mais rápida frente a desafios
semelhantes, fornece uma linguagem comum durante a documentação
e discussões técnicas além de nos auxiliar a organizar o código fonte do
software que estamos desenvolvendo.
compartilhe
📞