Hi.
Welcome to the video cause introduction to go classical patterns by Mario Castro Contreras.
A video caused by pact publishing.
I am Alister Ruane and I will be Mario's voice for this course.
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 is focused on containerized solutions and apps using
most of the Google Cloud Suite especially Cuban artists.
He has a wide experience in systems and solutions integration and he has written many scalable and reliable
12 factor apps using go and docker is designed to Big Data architectures for financial services and
the media.
And he has written data processing pipelines using event driven architectures entirely in go.
He is also very active in the open source community and you can find him on his github account with
the user name Satan.
In the past he has also written mobile applications and back ends in Java.
Mario is passionate about programming languages and he finds the best balance between fun and productivity
in go.
However recently he enjoys writing in rust and embedded systems in sea.
He is also passionate about road cycling and winter sports cool.
Let's not talk about go go is a multi paradigm programming language that has built in facilities to
create concurrent applications.
Design Patterns allow developers to efficiently address common problems faced while developing applications
go design patterns will provide you with a reference point for software design patterns and help build
applications in a more idiomatic robust and convenient way in go.
The course starts with a brief introduction to go programming essentials and quickly moves on to explain
the idea behind the creation of design patterns and how they appeared in the 90s as a common language
among developers with which to solve common tasks in object oriented programming languages.
Now let's take a look at our course.
It's divided into four sections.
Our first section attempts to help newcomers to the go programming language will have some background
in any other programming language.
It will begin by showing how to install the go environment in a Linux machine.
Moving to syntax type and flow control.
Following this we'll dive into the creation or patterns that introduce the problems that can arise when
an object creation or management is particularly complex or expensive.
Using Singleton builder factory and abstract factory design patterns then we'll move on to the third
section which focuses on structural patterns.
So our third section deals with the first set of structural patterns about object composition to get
some new functionality such as creating an intermediate object and using various objects as if there
is only one our last section is less oriented to multi object composition but focuses more on obtaining
new functionality in existing objects.
This section will add onto your skills in using the structural design patterns.
Doesn't it sound amazing by the end of this course you will have a strong knowledge base in go and its
classical design patterns.
You will be well equipped with the basic syntax and all the tools needed to start coding in go.
Also you'll be able to implement the concepts learned here in your application development.
This course will enable you to understand and apply design patterns in an idiomatic way to produce concise
readable and maintainable software.
All you need to follow through the examples in this course is a computer running any recent version
of go.
While the examples all used go one point seven this course is for beginner level developers and go programming
language.
No knowledge of design patterns is expected.
You are expected to have basic knowledge of programming.
So what are we waiting for.
Let's get started right now and let's go.
I am sure you will have fun learning go.