Check the https://georgechen.gitbook.io/design-pattern-notes/ for the beautiful version
This gitbook is the Design pattern study notes, and all the practice code are written by Golang.
Design Patterns: Elements of Reusable Object-Oriented Software
{% embed data="{"url":"https://sourcemaking.com/design\_patterns\",\"type\":\"link\",\"title\":\"Design Patterns and Refactoring","description":"Design Patterns and Refactoring articles and guides. Design Patterns video tutorials for newbies. Simple descriptions and full source code examples in Java, C++, C#, PHP and Delphi.","icon":{"type":"icon","url":"https://sourcemaking.com/favicon.ico\",\"aspectRatio\":0}}" %}
{% embed data="{"url":"https://refactoring.guru/design-patterns/memento\",\"type\":\"link\",\"title\":\"Memento\",\"description\":\"Memento is a behavioral design pattern that lets you capture the object's internal state without exposing its internal structure, so that the object can be returned to this state later.","icon":{"type":"icon","url":"https://refactoring.guru/favicon.ico\",\"aspectRatio\":0},\"thumbnail\":{\"type\":\"thumbnail\",\"url\":\"https://refactoring.guru/images/refactoring/social/facebook-share-preview.png\",\"width\":476,\"height\":249,\"aspectRatio\":0.523109243697479}}" %}