Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Working with Design Patterns in Go (Golang)
Rating: 4.4 out of 5(351 ratings)
4,211 students

Working with Design Patterns in Go (Golang)

Streamline your development by learning how common design patterns are implement in Go.
Created byTrevor Sawler
Last updated 6/2024
English

What you'll learn

  • How to use common design patterns in Go
  • Streamline the software development process by using well known patterns
  • Learn how to create loosely coupled software components
  • Build a real-world application using design patterns

Course content

11 sections113 lectures10h 18m total length
  • Introduction5:56

    Explore design patterns in Go to write clean, maintainable, scalable code. See factory, abstract factory, repository, singleton, builder, fluent interface, and adapter patterns demonstrated through a pet breeds web app.

  • A bit about me1:01

    Meet a seasoned software professional with 25 years as an independent contractor and decades of university teaching, sharing insights on design patterns in Go.

  • Installing Go1:27

    Download the latest go from go.dev and install for your OS—windows, mac with apple silicon, mac intel, or linux—and use the linux commands rm rf and sudo when needed.

  • Installing an Integrated Development Environment3:14

    Install an integrated development environment to simplify Go development with Visual Studio Code, install the Go extension, run Go tools via the command palette, and enable Go template syntax.

  • Installing Docker0:50

    Install Docker to run all microservices as containers across Mac, Windows, and Linux, avoiding separate binaries and port management; Docker is free and easy to install.

  • Asking for Help1:14

    Search online for solutions, compare your code to the lecture source, and review the Q&A; share enough code or a link to your git repository for targeted assistance.

  • Mistakes. We all make them.1:06

    Explore common mistakes in software development in this intermediate course, as the instructor shows unedited errors and demonstrates fixing them.

Requirements

  • Some familiarity with the Go programming language is required

Description

Go is a powerful language for building efficient and scalable applications. But as your projects grow, you'll encounter common problems that can be elegantly solved with design patterns.

This course will equip you with the knowledge and skills to leverage these design patterns effectively in your Go code. We'll explore various categories of patterns, including:

  • Creational Patterns: Learn techniques for object creation that promote flexibility and decoupling.

  • Structural Patterns: Discover ways to compose classes and objects to achieve desired functionality.

  • Behavioral Patterns: Explore patterns that define communication and interaction between objects.

By understanding these patterns, you'll gain the ability to:

  • Write cleaner, more maintainable, and reusable code.

  • Improve the design and architecture of your Go applications.

  • Solve common programming challenges with proven solutions.

  • Communicate design concepts more effectively with other developers.

We'll approach design patterns with a practical lens, focusing on real-world Go scenarios. In fact, we'll build a simple web application that allows us to see how, why, and when you can use a particular design pattern to make your code more efficient, maintainable, and easy to understand. My goal is ensure that you'll gain hands-on experience implementing these patterns so that you can use them in your own projects.

So, whether you're a seasoned Go developer or just getting started with the language, this course will provide you with valuable tools to take your Go development skills to the next level.

Please note that this course requires you to download Docker Desktop from Docker. If you are a Udemy Business user, please check with your employer before downloading software.

Who this course is for:

  • Go developers who want to learn how make the development process more efficient