Jacob953 / despatt

Design patterns implement by Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Despatt

Vernacular Design Patterns 28 Lectures implement by Go

English | 简体中文

1 Introduction

Despatt mainly refer to Everybody Know Design Patterns : How to comprehend Design Patterns from daily life, which introduces:

  • 19 commonly used design patterns for development and other 4 seldomly used design patterns in the remaining
  • Derivation of basic design patterns, as well as important and common programming mechanism
  • Experience and opinions on design principles, design patterns, and project reconstruction from Weifu Luo

More importantly, I recommend that you read some specific articles, depending on your language, before you read the entire content.

  • Go
    • Singleton mode
    • Factory mode
    • Strategy mode
    • Module mode
    • Proxy mode
    • Option mode

Welcome to contribute Despatt with implements of different programming languages, such as Java, C++, Rust, and ...

2 Content

If you are new to the Design Patterns, I suggest you follow the Original table of contents. As well, you can just figure out what you need following GoF's Standard way.

2.1 Original

  1. Observer
  2. Adapter
  3. State
  4. Singleton
  5. Responsibility
  6. Mediator
  7. Proxy
  8. Decorator
  9. Factory
  10. Iterator

2.2 Standard

Creational

Structural

Behavioral

3 Contribution

Please make your issue before pulling requests directly!

Contributions including but not limited to the following forms are welcome.

  1. Translate to a different language
  2. Add a new programming language
  3. Fix typos or mistakes
  4. Tell me your expectations
  5. ......

Attention

If you're going to add a new programming language, follow the rules.

  1. Make sure your issue has been read and approved. (After that, I'll create a new branch for your contribution, like dev-go)
  2. Create a new folder at the same level with global, and name the folder with the new language, like go
  3. Copy the struct of folders from global to your new folder, like go
  4. Push your commits to specific branch, like dev-go
  5. Merge into branch develop, rather than main

4 License

Despatt follows the GPL-3.0 License

5 Contact

You can contact me by jacob953@csu.edu.cn

About

Design patterns implement by Go

License:GNU General Public License v3.0


Languages

Language:Go 88.0%Language:C++ 11.7%Language:CMake 0.3%