Go Behavioral Patterns
4.0 (1 rating)
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.
27 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Go Behavioral Patterns to your Wishlist.

Add to Wishlist

Go Behavioral Patterns

Learn idiomatic, efficient, clean, and extensible Go Behavioral patterns by using TDD
4.0 (1 rating)
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.
27 students enrolled
Created by Packt Publishing
Last updated 6/2017
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Encapsulate the creation of complex objects in an idiomatic way in Go
  • Create unique instances that cannot be duplicated within a program
  • Learn to make Objects react in an expected or bounded way
  • Explore tremendously popular design patterns in distributed systems and reactive programming
  • Understand the importance of object encapsulation to provide clarity and maintainability
  • Prepare cost-effective actions so that different parts of the program aren’t affected by expensive tasks
View Curriculum
  • No knowledge of design patterns is expected.

Go is a multi-paradigm programming language that has built-in facilities for creating concurrent applications. Design patterns allow developers to efficiently address common problems faced during developing applications.

Go Design Patterns will provide viewers with a reference point for software design patterns and help to build applications in a more idiomatic, robust, and convenient way in Go. The course will take you to an advanced level of knowledge about classic design patterns but, as you will see, the design patterns covered here are quite different, partly because of the lack of inheritance in Go, but also because we have different and more optimal ways to solve the same problems.

With all this, the course will enable you to understand and apply design patterns in an idiomatic way that will produce concise, readable, and maintainable software.

About the Author

Mario Castro Contreras is a software engineer who has specialized in distributed systems and big data solutions. He works as a site reliability engineer, and now he is focused on containerized solutions and apps using most of the Google Cloud suite, especially Kubernetes. He has wide experience in systems and solutions integration, and he has written many scalable and reliable 12-factor apps using Go and Docker. He has designed big data architectures for financial services and media, and he has written data processing pipelines using event-driven architectures written purely in Go. He is also very active in the open source community, and you can find him on his GitHub account with the username sayden. In the past, he has also written mobile applications and backends in Java.

Mario is passionate about programming languages, and he found the best balance between fun and productivity in Go; however, recently, he enjoys writing in Rust and embedded systems in C. He is also passionate about road cycling and winter sports.

Who is the target audience?
  • The target audience is beginner- and intermediate-level developers in the Go programming language.
Compare to Other Go Programming Language Courses
Curriculum For This Course
11 Lectures
Strategy, Chain of Responsibility, and Command Design Patterns
4 Lectures 01:03:32

This video gives an overview of the entire course.

Preview 04:53

This video will walk you through the most important design pattern in object-oriented programming, with which many design patterns have something in common.

Strategy Design Pattern

Through this video, you will learn to build chains of objects that can decide which between them must deal with a particular case.

Chain of Responsibility Pattern

This video will show you how to encapsulate actions that don’t necessarily need to be executed immediately or must be stored.

Command Design Pattern
Template, Memento, and Interpreter Design Patterns
3 Lectures 49:26

How could you provide a user some way to execute code within an algorithm? This video will let you answer this question. You will be able to write idiomatic Go Template patterns.

Preview 17:49

This video will show you how you could save milestones of a state when you have a type with some state. You will learn to recover them if necessary for a variety of tasks: undo operations, historic, and so on.

Memento Design Pattern

This video will let you dig into a quite complex pattern, which is widely used to solve business cases where it's useful to have a language to perform common operations. 

Interpreter Design Pattern
Visitor, State, Mediator, and Observer Design Patterns
4 Lectures 48:22

What if you want to abstract away some functionality from a set of objects? Let’s do it through this video.

Preview 15:55

You may require something that has one or more states and travels between them to execute some behaviors. These are termed as FSMs. Let's see how the State pattern helps us to define FSM.

State Design Pattern

How do we avoid tight coupling between objects?

Mediator Design Pattern

How can you uncouple an event from its possible handler? How can you achieve many actions that are triggered on one event? Let’s answer these questions with this video.

Observer Design Pattern
About the Instructor
Packt Publishing
3.9 Average rating
8,229 Reviews
59,016 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.