HOME > Development > Working with Design Patterns in Go (Golang)

Working with Design Patterns in Go (Golang)

  • Development
  • Mar 11, 2025
SynopsisWorking with Design Patterns in Go (Golang , available at $54...
Working with Design Patterns in Go (Golang)  No.1

Working with Design Patterns in Go (Golang), available at $54.99, has an average rating of 4.53, with 113 lectures, based on 108 reviews, and has 1731 subscribers.

You will learn about 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 This course is ideal for individuals who are Go developers who want to learn how make the development process more efficient It is particularly useful for Go developers who want to learn how make the development process more efficient.

Enroll now: Working with Design Patterns in Go (Golang)

Summary

Title: Working with Design Patterns in Go (Golang)

Price: $54.99

Average Rating: 4.53

Number of Lectures: 113

Number of Published Lectures: 113

Number of Curriculum Items: 113

Number of Published Curriculum Objects: 113

Original Price: $39.99

Quality Status: approved

Status: Live

What You Will 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
  • Who Should Attend

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

  • Go developers who want to learn how make the development process more efficient
  • 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.

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Lecture 2: A bit about me

    Lecture 3: Installing Go

    Lecture 4: Installing an Integrated Development Environment

    Lecture 5: Installing Docker

    Lecture 6: Asking for Help

    Lecture 7: Mistakes. We all make them.

    Chapter 2: Setting up a Simple Web Application

    Lecture 1: What well build in this section

    Lecture 2: How web applications work

    Lecture 3: Setting up our main application

    Lecture 4: Installing a routing package

    Lecture 5: Setting up routes

    Lecture 6: Setting up a simple HTML template

    Lecture 7: Creating a render function

    Lecture 8: Rendering our first page

    Lecture 9: Adding navigation

    Lecture 10: Creating templates for all site pages

    Lecture 11: Setting up a route & handler for site pages

    Lecture 12: Trying out our template cache

    Lecture 13: Adding WebP and jpeg images to the home page

    Chapter 3: Factory Patterns

    Lecture 1: What well build in this section

    Lecture 2: The Factory Pattern

    Lecture 3: Setting up some types

    Lecture 4: Creating a simple Factory

    Lecture 5: Creating handlers for the simple Factory

    Lecture 6: Setting up the front end

    Lecture 7: Adding routes for our Factory handlers

    Lecture 8: Trying our Factory pattern out

    Lecture 9: The Abstract Factory pattern

    Lecture 10: Creating an Abstract Factory

    Lecture 11: Creating a route and handler for the Abstract Factory

    Lecture 12: Updating the front end

    Lecture 13: Trying out our Abstract Factory

    Chapter 4: Connecting to a Database

    Lecture 1: What well build in this section

    Lecture 2: Adding a module to support MySQL/MariaDB

    Lecture 3: Setting up a local MariaDB instance with Docker

    Lecture 4: Connecting our application to MariaDB

    Chapter 5: The Repository Pattern

    Lecture 1: What well build in this section

    Lecture 2: Writing our first database function

    Lecture 3: Creating a handler to list dog breeds

    Lecture 4: Updating the front end to fetch the list of dog breeds

    Lecture 5: Updating the front end to display the list of dog breeds

    Lecture 6: Writing a test for our handler

    Lecture 7: Implementing the Repository pattern I

    Lecture 8: Implementing the Repository pattern II

    Lecture 9: Implementing the Repository pattern III

    Lecture 10: Trying things out

    Lecture 11: Implementing a test database repository

    Lecture 12: Updating our handler test

    Chapter 6: The Singleton Pattern

    Lecture 1: What well build in this section

    Lecture 2: Creating a simple Singleton

    Lecture 3: Updating our project to use our configuration package (singleton)

    Chapter 7: Builder Pattern & Fluent Interface

    Lecture 1: What well build in this section

    Lecture 2: The Builder Pattern (& Fluent Interface)

    Lecture 3: Getting started with the Builder pattern in our project

    Lecture 4: Setting up our Builder code

    Lecture 5: Fixing three problems with our Builder code

    Lecture 6: Setting up a handler to use our Builder pattern

    Lecture 7: Setting up a route to our handler

    Lecture 8: Modifying the front end to call our Builder route

    Lecture 9: Challenge

    Lecture 10: Solution to challenge

    Chapter 8: Adapter Pattern

    Lecture 1: What well cover in this section

    Lecture 2: The Adapter Pattern – Overview

    Lecture 3: Installing an application to serve JSON and XML

    Lecture 4: Setting up the Adapter type & the Adaptee

    Lecture 5: Adding the Adapter to our application config

    Lecture 6: Setting up a handler

    Lecture 7: Adding a route

    Lecture 8: Updating the Cat Breeds template

    Lecture 9: Switching adapters from JSON to XML

    Lecture 10: Adding a test for the Cat Breeds handler, using our adapter pattern

    Chapter 9: Bringing it all together

    Lecture 1: What well cover in this section

    Lecture 2: Creating a stub AnimalFromAbstractFactory handler

    Lecture 3: Creating a New factory function for pet with embedded breed

    Lecture 4: Creating stub newPetWithBreed method for Cats and Dogs

    Lecture 5: Adding a GetDogBreedByName method in the database Repository

    Lecture 6: Refactoring adapters.go to new package

    Lecture 7: Adding a GetCatBreedByName method on our JSON adapter

    Lecture 8: Adding a GetCatBreedByName method on our XML adapter

    Lecture 9: Finishing up the new Adapter and Abstract Factory code

    Lecture 10: Finishing up the changes in our Abstract Factory to use the new adapters

    Lecture 11: Setting up a route to our stub handler

    Lecture 12: Finishing off the handler code

    Lecture 13: Updating the front end to try things out

    Lecture 14: Writing the necessary javascript to call our back end

    Chapter 10: The Decorator Pattern

    Lecture 1: What well cover in this section

    Lecture 2: Setting up a route and a stub handler

    Lecture 3: Setting up the database table

    Lecture 4: Adding database methods for Dog of Month

    Instructors

  • Working with Design Patterns in Go (Golang)  No.2
    Trevor Sawler
    Ph.D.
  • Rating Distribution

  • 1 stars: 0 votes
  • 2 stars: 5 votes
  • 3 stars: 7 votes
  • 4 stars: 18 votes
  • 5 stars: 78 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!