Desenvolvimento Ágil com Padrões de Projeto (Coursera)

Desenvolvimento Ágil com Padrões de Projeto (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em lidar com cenários mais complexos, onde é difícil desenvolver software com código de qualidade com flexibilidade suficiente para facilitar a implementação de mudanças repentinas de requisitos.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

O objetivo deste curso é oferecer a você um aprofundamento em técnicas de programação orientadas a objetos pelo uso de padrões de projeto no contexto de desenvolvimento ágil.
Os seguintes conceitos são apresentados neste curso:
• Revisão de conceitos de orientação a objetos: abstração de dados, encapsulamento, herança e polimorfismo
• Reúso por meio de herança: padrões Null Object, Template Method e Factory Method
• Delegando comportamento com composição: padrões Strategy, Bridge, State e Observer
• Composição recursiva: padrões Composite e Chain of Responsibility
• Envolvendo objetos: padrões Proxy, Decorator e Adapter
• Estratégias para criar objetos: padrões Static Fabric Methods, Singleton e Builder
• Modularidade: padrão Dependency Injection
Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar partes da aplicação Web final com o componente de gamificação enriquecido constantes do Trabalho de Conclusão da Especialização, aplicando onde apropriado alguns dos padrões apresentados neste curso durante a refatoração na prática TDD.

Syllabus

WEEK 1
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Estamos contentes que você esteja aqui para se exercitar com padrões de projeto. Neste módulo introdutório, você será apresentado inicialmente a uma revisão rápida de conceitos de orientação a objetos pertinentes a padrões de projeto; depois, a uma introdução a padrões de projeto, onde você aprenderá a usar o padrão Strategy. Ao final deste módulo você também terá aprendido uma forma alternativa a construtores para instanciar objetos, na forma do padrão Static Factory Methods.
Graded: Avaliação Semanal

WEEK 2
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Neste módulo você aprenderá a identificar quatro padrões em que se utiliza a herança; depois, três padrões em que se utiliza a composição.
Graded: Avaliação Semanal

WEEK 3
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Neste módulo você aprofundará seus conhecimentos sobre composição recursiva, bem como com os padrões Composite e Chain of Responsibility, nos quais se emprega a composição recursiva. Você será exposto aos padrões Proxy, Decorator e Adapter, em cujas estruturas se faz uso do encapsulamento. Ao final, você aprenderá como criar classes em que se pode instanciar apenas um único objeto, na forma do padrão Singleton.
Graded: Avaliação Semanal

WEEK 4
Olá, bem-vindo ao Curso 5 – Desenvolvimento Ágil com Padrões de Projeto! Ao final deste módulo, você terá aprendido a criar objetos por meio dos padrões Abstract Factory e Builder. Você terá aprendido também uma forma de modularizar seu código com base no padrão de projeto Dependency Injection. Ao final, você irá exercitar parte do conhecimento aprendido neste curso ao desenvolver uma pequena aplicação com gamificação!
Graded: Componente de Gamification Utilizando Padrões

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Object-Oriented Programming Concepts (Coursera) Coursera
LearnQuest

Object-Oriented Programming Concepts (Coursera)

In Object-Oriented Concepts, we will introduce the core concepts behind modern, object-oriented, programming. We will discuss objects, classes, messaging, inheritance, polymorphism, and more. As with Fundamentals of Programming, we will illustrate the concepts using the Python language, but they will be portable to other object-oriented programming languages.

Jun 1st 2026
3 Weeks
Developing Applications with SQL, Databases, and Django (Coursera) Coursera
IBM

Developing Applications with SQL, Databases, and Django (Coursera)

The essentials of application development are accessing, processing, and presenting data. Data is stored in various databases, either on-premise or on the cloud, and developers will need to learn how to talk to them via programming languages. In this course, you will be introduced to some fundamental database concepts. You will learn the basics of SQL, a simple and powerful programming language for querying and managing data. And you will learn about cloud database fundamentals and get hands-on cloud database experiences.

Jun 1st 2026
5-12 Weeks
Data Structures for Designers Using Python (Coursera) Coursera
University of Michigan

Data Structures for Designers Using Python (Coursera)

In Data Structures for Designers Using Python, you’ll delve into the critical concepts of data structures and object-oriented programming, tailored specifically for design and visual content creation applications. You’ll be introduced to object-oriented programming principles in Python, enabling you to model real-world scenarios and design problems using objects and classes.

Jun 1st 2026
5-12 Weeks
Introduction to Software Development and Applications (Coursera) Coursera
Northeastern University

Introduction to Software Development and Applications (Coursera)

The primary objectives of this course are to introduce software engineering techniques and their application to real-world business problems. You will be equipped with practical design and programming techniques for the purpose of modeling significant business applications quickly.

Jun 1st 2026
4 Weeks
Princípios de Desenvolvimento Ágil de Software (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

Princípios de Desenvolvimento Ágil de Software (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios orientados a objetos, TDD e conceitos avançados de Java aplicados à Web e banco de dados exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em planejar e gerenciar o desenvolvimento das aplicações com base em modernas práticas de modelagem ágil.

May 25th 2026
4 Weeks
Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO). Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Jun 1st 2026
5-12 Weeks
Advanced R Programming (Coursera) Coursera
Johns Hopkins University

Advanced R Programming (Coursera)

This course covers advanced topics in R programming that are necessary for developing powerful, robust, and reusable data science tools. Topics covered include functional programming in R, robust error handling, object oriented programming, profiling and benchmarking, debugging, and proper design of functions.

Jun 1st 2026
4 Weeks
Advanced C# Programming in .NET Core (Coursera) Coursera
EDUCBA

Advanced C# Programming in .NET Core (Coursera)

Embark on a journey to master Advanced C# Programming in .NET Core through our comprehensive course. Explore the intricacies of Advanced Language Features, unlocking the full potential of C# to refine your coding skills. Dive into Object-Oriented Programming Techniques, achieving proficiency in design patterns and crucial principles for crafting scalable applications.

Jun 1st 2026
4 Weeks
Use C++ to build a crypto trading platform I: user input (Coursera) Coursera
University of London,Goldsmiths, University of London

Use C++ to build a crypto trading platform I: user input (Coursera)

This course is the first of five courses aiming to help you to become confident working in the object-oriented paradigm in the C++ language. This specialisation is for individuals who want to learn about objected oriented programming. It's an all-in-one package that will take you from the very fundamentals of C++, all the way to building a crypto-currency exchange platform.

Jun 1st 2026
2 Weeks
Java for Android (Coursera) Coursera
Vanderbilt University

Java for Android (Coursera)

This MOOC teaches you how to program core features and classes from the Java programming language that are used in Android, which is the dominant platform for developing and deploying mobile device apps. In particular, this MOOC covers key Java programming language features that control the flow of execution through an app (such as Java’s various looping constructs and conditional statements), enable access to structured data (such as Java's built-in arrays and common classes in the Java Collections Framework, such as ArrayList and HashMap), group related operations and data into classes and interfaces (such as Java's primitive and user-defined types, fields, methods, generic parameters, and exceptions), customize the behavior of existing classes via inheritance and polymorphism (such as subclassing and overriding virtual methods).

Jun 2nd 2026
4 Weeks
Programming with JavaScript (Coursera) Coursera
Meta

Programming with JavaScript (Coursera)

JavaScript is the programming language that powers the modern web. In this course, you will learn the basic concepts of web development with JavaScript. You will work with functions, objects, arrays, variables, data types, the HTML DOM, and much more. You will learn how to use JavaScript and discover interactive possibilities with modern JavaScript technologies. Finally, you will learn about the practice of testing code and how to write a unit test using Jest.

Jun 1st 2026
5-12 Weeks