Padrões de Projeto GoF (Design Patterns)

Aprenda de uma maneira simples e eficiente os padrões de projeto GoF.
4.3 (21 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
170 students enrolled
$19
$30
37% off
Take This Course
  • Lectures 31
  • Length 3.5 hours
  • Skill Level Intermediate Level
  • Languages Portuguese
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 4/2016 Portuguese

Course Description

Este curso apresentará a você cada um dos 23 padrões de projeto GoF (Gang of Four). Cada padrão é explicado e exemplificado utilizando diagramas de classes UML, exemplos em Java e aplicações típicas que irão lhe ajudar no aprendizado de uma maneira mais eficiente, estimulante e divertida.

Padrões de projeto não é algo exclusivo da computação, os padrões são comuns em várias áreas da engenharia. É uma maneira testada e documentada de alcançar um objetivo qualquer. Os padrões GoF, especificamente, são soluções genéricas para os problemas mais comuns e recorrentes no desenvolvimento de softwares orientado a objetos.

Aprender padrões de projeto irá lhe ajudar a identificar problemas comuns em engenharia de software e saber como resolvê-los utilizando soluções testadas e bem documentadas, consequentemente seu nível em programação aumentará e você passará a produzir softwares de melhor qualidade.

Comece hoje mesmo pelos padrões GoF, considerados por muitos como sendo os mais importantes e utilizados padrões de projeto de software orientado a objetos!

*Os códigos Java e os diagramas de classes UML contidos neste curso estão disponíveis para download, bem como, os slides apresentados.

What are the requirements?

  • O aluno deverá possuir o mínimo de conhecimento em alguma linguagem de programação orientada a objetos.
  • Os exemplos de códigos contidos neste curso estão escritos em Java, mas se você está familiarizado com outra linguagem orientada a objetos, como C++ ou C#, você irá conseguir acompanhar e entender sem dificuldades este curso.
  • As ferramentas de projeto e desenvolvimento utilizadas neste curso são gratuitas.

What am I going to get from this course?

  • Aplicar soluções reutilizáveis de software orientado a objetos.
  • Saber quando e como utilizar os 23 padrões de projeto GoF em seus projetos de software.
  • Projetar de forma mais ágil soluções de software com melhor qualidade e com o menor custo.

What is the target audience?

  • Este curso destina-se à estudantes de computação, programadores, engenheiros e arquitetos de softwares que desejam aprender ou se aperfeiçoar em padrões de projeto GoF.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: APRESENTAÇÃO
02:54

Uma breve abordagem sobre a UML para entender relacionamento dos diagramas e notações UML na composição dos padrões GoF.

04:10

Aprender a notação gráfica de uma classe usando o diagrama de classes da UML.

08:06

Entender todos os tipos de associações entre classes. Cada tipo de associação é exemplificado utilizando a aplicação open source ArgoUML.

02:58

Explanação sobre o conceito de herança (generalização / especialização) entre classes através de exemplos de fácil entendimento.

04:06

Entender a diferença entre os relacionamentos de agregação e composição de classes (o conceito do objeto todo-parte).

01:38

Entender o relacionamento entre duas classes do tipo cliente (client) e fornecedor (supplier), na qual a classe cliente usa / depende da classe fornecedor.

Teste 01
1 question
Section 2: INTRODUÇÃO AOS PADRÕES GOF
06:49

Entender o principal objetivo dos padrões do projeto GoF e o porquê de eles existirem. Uma breve apresentação dos padrões de criação, estruturais e comportamentais.

Teste 02
1 question
Section 3: GoF - CRIAÇÃO
05:18

Intenção: garantir que uma determinada classe tenha uma, e somente uma instância, mantendo um ponto global de acesso para a mesma.

10:07

Intenção: definir uma interface para criar um objeto, mas deixar as subclasses decidirem que classe instanciar.

09:06

Intenção: fornecer uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

08:31

Intenção: separar a construção de um objeto complexo da sua representação de modo que o mesmo processo de construção possa criar diferentes representações.

07:48

Intenção: especificar os tipos de objetos a serem criados usando uma instância protótipo e criar novos objetos pela cópia deste protótipo

Teste 03
1 question
Section 4: GoF - ESTRUTURAL
08:03

Intenção: desacoplar uma abstração da sua implementação, de modo que as duas possam variar independentemente.

10:12

Intenção: converter a interface de uma classe em outra interface, esperada pelos clientes. O Adapter permite que classes com interfaces incompatíveis trabalhem em conjunto o que, de outra forma, seria impossível.

06:55

Intenção: fornece um substituto (surrogate) ou marcador da localização de outro objeto para controlar o acesso ao mesmo.

06:23

Intenção: agregar dinamicamente responsabilidades adicionais a um objeto.

08:51

Intenção: compor objetos em estruturas de árvore para representarem hierarquias todo-parte.

06:17

Intenção: fornecer uma interface unificada para um conjunto de interfaces em um subsistema. Façade define uma interface de nível mais alto que torna o subsistema mais fácil de ser usado.

08:38

Intenção: usar compartilhamento para suportar eficientemente grandes quantidades de objetos de granularidade fina.

Teste 04
1 question
Section 5: GoF - COMPORTAMENTAL
09:30

Intenção: encapsular uma solicitação como um objeto, desta forma permitindo parametrizar clientes com diferente solicitações, enfileirar ou fazer o registro (log) de solicitações e suportar operações que podem ser desfeitas.

06:20

Intenção: definir uma família de algoritmos, encapsular cada uma delas e torná-las intercambiáveis. Strategy permite que o algoritmo varie independentemente dos clientes que o utilizam.

07:14

Intenção: permite a um objeto alterar seu comportamento quando o seu estado interno muda. O objeto parecerá ter mudado sua classe.

08:30

Intenção: definir uma dependência um-para-muitos entre objetos, de maneira que quando um objeto muda de estado todos os seus dependentes são notificados e atualizados automaticamente.

09:49

Intenção: definir um objeto que encapsula a forma como um conjunto de objetos interage O Mediator promove o acoplamento fraco ao evitar que os objetos se refiram uns aos outros explicitamente e permite variar suas interações independentemente.

08:20

Intenção: evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto a oportunidade de tratar a solicitação. Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate.

05:16

Intenção: definir o esqueleto de uma algoritmo em uma operação, postergando (deferring) alguns passos para subclasses. Template Method (Gabarito de Método) permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo.

07:24

Intenção: dada uma linguagem, definir uma representação para a sua gramática juntamente com um interpretador que usa representação para interpretar sentenças da linguagem.

05:39

Intenção: sem violar o encapsulamento, capturar e "externalizar" um estado interno de um objeto, de maneira que o objeto possa ser restaurado para este estado mais tarde

07:51

Intenção: fornecer um meio de acessar, sequencialmente, os elementos de um objeto agregado sem expor a sua representação.

07:00

Intenção: representar uma operação a ser executada nos elementos de uma estrutura de objetos. Visitor permite definir uma nova operação sem mudar as classes dos elementos entre os quais opera.

Teste 05
1 question
Teste 06
1 question
Section 6: CONSIDERAÇÕES FINAIS
01:26

Considerações finais e agradecimentos. Uma revisão sobre o assunto ministrado nos vídeos deste curso, orientando o aluno a dar seus próximos passos.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Marco Aurélio Regis, Java Software Developer

Experience

Director at Ocram Information Systems - since 2006 until now

Professor of Analysis and Development of Information Systems at UNIP University in Brazil - since 2011 until 2013

Effective Member of Brazilian Computer Society since 2008 until now

Professional Member of Association for Computing Machinery since 2014 until now

IEEE Membership since 2014 until now

Skills

Computer Science, Teaching, Software Engineering, UML, Programming, Java, Design Patterns

Ready to start learning?
Take This Course