All Projects → xiaomeng79 → go-design-pattern

xiaomeng79 / go-design-pattern

Licence: GPL-3.0 license
go的设计模式实例

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to go-design-pattern

Go Pattern Examples
Examples of implement for awesome go patterns including usual design patterns, in easy understanding examples.
Stars: ✭ 65 (+44.44%)
Mutual labels:  patterns, examples, design-patterns
Node.js Design Patterns Third Edition
Node.js Design Patterns Third Edition, published by Packt
Stars: ✭ 239 (+431.11%)
Mutual labels:  patterns, examples, design-patterns
goodcode
A curated collection of annotated code examples from prominent open-source projects
Stars: ✭ 184 (+308.89%)
Mutual labels:  patterns, examples, design-patterns
Designpatterns
DesignPatterns samples by csharp on dotnetcore 《大话设计模式》 中设计模式总结/C#(.NETCore)代码
Stars: ✭ 73 (+62.22%)
Mutual labels:  patterns, design-patterns
Guardclauses
A simple package with guard clause extensions.
Stars: ✭ 767 (+1604.44%)
Mutual labels:  patterns, design-patterns
Patterns Demos
Examples of Design Patterns in Java
Stars: ✭ 67 (+48.89%)
Mutual labels:  patterns, design-patterns
Reason Design Patterns
🗺 An unofficial collection of "design patterns" for Reason and OCaml
Stars: ✭ 379 (+742.22%)
Mutual labels:  patterns, design-patterns
Reactpatterns
React patterns & techniques to use in development for React Developer ⚛ .
Stars: ✭ 201 (+346.67%)
Mutual labels:  patterns, design-patterns
Ios Design Patterns
Learning ground for iOS Design Pattern included with sample projects for MVC, MVP, MVVM, and VIPER
Stars: ✭ 120 (+166.67%)
Mutual labels:  patterns, design-patterns
Material Backdrop
A simple solution for implementing Backdrop pattern for Android
Stars: ✭ 221 (+391.11%)
Mutual labels:  patterns, design-patterns
design-patterns-cookbook
Design Patterns in simple words with examples on PHP
Stars: ✭ 26 (-42.22%)
Mutual labels:  examples, design-patterns
Designpatternslibrary
A comprehensive design patterns library implemented in C#, which covers various design patterns from the most commonly used ones to the lesser-known ones. Get familiar with and learn design patterns through moderately realistic examples.
Stars: ✭ 485 (+977.78%)
Mutual labels:  patterns, design-patterns
Cloud Design Patterns
Prescriptive Architecture Guidance for Cloud Applications
Stars: ✭ 484 (+975.56%)
Mutual labels:  patterns, design-patterns
Go Patterns
Design patterns for the Go programming language
Stars: ✭ 432 (+860%)
Mutual labels:  patterns, design-patterns
Go Patterns
Curated list of Go design patterns, recipes and idioms
Stars: ✭ 17,827 (+39515.56%)
Mutual labels:  patterns, design-patterns
Nodejs-Design-Pattern
Resumen de patrones de diseño extraídos de mi lectura del libro "Node.js Design Patterns de Mario Casciaro 1ra edición"
Stars: ✭ 45 (+0%)
Mutual labels:  patterns, design-patterns
Designpatternsincsharp
Samples associated with Pluralsight design patterns in c# courses.
Stars: ✭ 149 (+231.11%)
Mutual labels:  patterns, design-patterns
Design Patterns
Contains examples of design patterns that implemented in php
Stars: ✭ 375 (+733.33%)
Mutual labels:  examples, design-patterns
software-design-pattern
Software design pattern
Stars: ✭ 43 (-4.44%)
Mutual labels:  patterns, design-patterns
Java-Programs
Java Practiced Problems including concepts of OOPS, Interface, String , Collection.
Stars: ✭ 51 (+13.33%)
Mutual labels:  patterns, design-patterns

go 设计模式

Build Status GitHub license GitHub issues GitHub stars go1.11

设计模式的六大原则

1、开闭原则

对扩展开放,对修改关闭,简而言之:使用接口和抽象类

2、里氏代换原则

任何基类可以出现的地方,子类一定可以出现

3、依赖倒转原则

针对接口编程,依赖于抽象而不依赖于具体

4、接口隔离原则

使用多个隔离的接口,比使用单个接口要好,降低耦合,参考io包

5、迪米特法则,又称最少知道原则

一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立

6、合成复用原则

尽量使用合成/聚合的方式,而不是使用继承

总结:多使用接口,接口组合,针对接口编程

创建型模式

  • single 单例模式
  • abstractFactory 抽象工厂
  • builder 建造者模式
  • factoryMethod 工厂方法
  • prototype 原型模式
  • simpleFactory 简单工厂模式

结构型模式

  • adapter 适配器模式
  • bridge 桥接模式
  • composite 组合模式
  • decorator 装饰器模式
  • facade 外观模式
  • flyweight 享元模式
  • proxy 代理模式
  • options 选项模式

行为型模式

  • chain 责任链模式
  • command 命令模式
  • interperter 解释器模式
  • iterator 迭代器模式
  • mediator 中介者模式
  • memento 备忘录模式
  • observer 观察者模式
  • state 状态模式
  • strategy 策略模式
  • template 模板模式
  • visitor 访问者模式
参考资料

tmrts

BPing

qibin0506

HCLAC

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].