• Stars
    star
    108
  • Rank 321,259 (Top 7 %)
  • Language
    Go
  • License
    MIT License
  • Created over 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Examples of implement for awesome go patterns including usual design patterns, in easy understanding examples.

Golang工程模式示例集合(Go Patterns Examples)

包括了go-patternsgolang-design-pattern中的全部模式

目前包括42种Go中常用的、面向工程化和最佳实践的模式/套路,自然也包含常见的23种设计模式,重点是这里全部是例子、通俗易懂,甚至每个模式下的例子,改一下名字,稍微再增加几行代码就可以直接用在项目和工程中了。

每一种设计模式都有其特定的应用场景和要解决的问题,了解模式的关键点就在于弄清这些目标场景和问题,千万不要纠结于:为什么这个模式叫这个名字,这个模式为啥要这样用? 要知道,最初,这些模式不是你总结的,也不是我的总结的,命名不由你我,如果是你我的写的,当然可以按照自己的喜欢的感觉给这些套路取名字,让其他人去费劲想

了解姿势 Ways

  • 所谓模式就是套路,如功夫,招有定式
  • 学习模式,就是学习一些经典套路,更弄清楚套路要解决的目标场景,这很重要,才能举一反三更好创新
  • 这里就是以实际代码示例出发,展示设计模式,通俗易懂
  • 除了常见的23种普适的设计模式,Go也有一些属于自己的模式

走起 Go

下载:

go https://github.com/crazybber/go-pattern-examples

跑一遍测试:

cd go-pattern-examples
go test ./...

行为型模式 Behavior Patterns

创建型模式 Creation Patterns

结构型模式 Structure Patterns

弹性模式 Resiliency Patterns

更多模式(同步/并发/并行) Go More Patterns(Concurrency/Parallelism/Sync)

参考资料(Design patters Articles)

Patterns Instructions Status
go-patterns 搜集整理到各种模式文章和代码 p
菜鸟设计模式 以Java为主的设计模式介绍 p
design_pattern 编程之家的设计模式 p
golang-design-pattern go语言的设计模式理论 p
go-resiliency go的一些弹性模式 m
Behavioral 设计模式中的行为模式(俄语版) m
go-patterns 一些设计模式 p
go_design_pattern 日语版设计模式 p
microsoft-patterns 微软设计模式系列文章(24) p/w

更多 More

需要重新温习下Go基础?看这里:

go-fucking-exercises

More Repositories

1

awesome-patterns

Collections of Go patterns based on tmrts/go-patterns, But merged with other awesome forks and more improvoments.
Go
405
star
2

go-fucking-exercise

go basic learning exercises for starting trip as a new beginner or reviewing courses
Go
22
star
3

bingai

BingAI Magic Service
HTML
3
star
4

pythontrip

coding in python way, python is a nice language
Python
2
star
5

sip_stack

eXosip2+ osip2 +sippaser2
C
1
star
6

CsharpCom

a Csharp souluton for cpp using ,simple C++ and C#
C#
1
star
7

batch-handle-git-repo

batch handle for git ,including add remote repo、pull repos、sync repos etc.
Shell
1
star
8

about

about crazybber
1
star
9

Node.JS-Learn-Sample

Some Node.js Demo Code Snip
JavaScript
1
star
10

Android-Service-Modules-Plugin

Android plugin Platform Framework Code
Java
1
star
11

application

1
star
12

python-starter

a Python learning Project
Python
1
star
13

node-online

a common node.js server to provide webapi with MogoDB/Express/Socket.IO
JavaScript
1
star
14

Caliburn.Micro.Learn

Caliburn.Micro Framework Sample
C#
1
star
15

go-jupyter

spark big data exploring in jupyterlab
Jupyter Notebook
1
star
16

ng-scully-md-template

a starter template for scully angular markdown content site
TypeScript
1
star
17

rustlings-starter

a rustlings classes starter with answers to help you to learn rust by example exercises
Rust
1
star
18

dynamic-introduce

introduce yourself, already updated to latest(vue2+webpack4+babel7) . Demo Here:
JavaScript
1
star
19

Logs-Collector

a LogsCollector
C#
1
star
20

LearnGit

when learning git you can use it.
Python
1
star
21

awesome-cangjie

仓颉语言优秀开源项目集Cangjie Open Source Projects Collections
1
star