Announcing the series of posts on Golang design patterns 🎉🎉🎉

Since the early day of my software development career, I have always tried to look for ONE language to fall in love with. Hence, I have learned many programming languages including C, C++, Java, C#, F#, Python, Scala, Rust, Elixir, JavaScript, TypeScript, PHP, Haskell, etc and finally, the one could really hit me real bad in the heart is Go (Similar to how I like a bunch of girls, but I only want to love JUST one woman 😛). I decided to write articles in the upcoming time about Go to tell the world how much I love the language and you might as well. Foremostly, design-pattern is the first way to Go 🔥

Lately, I was fortunate to watch a talk on how import software architect is by a talk from one of the most famous software programmer of all time - Uncle Bob. If you come across this post and you are part of the IT industry, please spend an hour or so to watch carefully the video below - IT WILL CHANGE YOUR LIFE 😗

After watching this, I found out what to do next to sharpen my knowledge on software development - get the books recommended by Uncle Bob, read it and write blog posts about it. If you look around, everything around us is shaped by software. By learning more, investing more on software architect will make us not only a better person but also improve this world by making quality software. At the time of this writing, I really am excited to tell the world that I am about to become a better software engineer by sharing the knowledge I am gong to gain with the world by leveraging the book of knowledge written by years of experience from the greatest human beings. Let's get going 🎉

The section below lists out 23 design patterns grouped into three groups:

Creational Patterns

  1. Abstract Factory
  2. Builder
  3. Factory Method
  4. Prototype
  5. Singleton

Structural Patterns

  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Facade
  6. Flyweight
  7. Proxy

Behavioral Patterns

  1. Chain of Responsibility
  2. Command
  3. Interpreter
  4. Iterator
  5. Mediator
  6. Memento
  7. Observer
  8. State
  9. Strategy
  10. Template Method
  11. Visitor

Peace out 😎