All Projects → BPing → Golang_design_pattern

BPing / Golang_design_pattern

Licence: apache-2.0
Code to achieve the design model with golang

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Golang design pattern

Designpatternsincsharp
Samples associated with Pluralsight design patterns in c# courses.
Stars: ✭ 149 (-19.46%)
Mutual labels:  design-patterns
Python Clean Architecture
A Python toolkit for applications driven by The Clean Architecture
Stars: ✭ 159 (-14.05%)
Mutual labels:  design-patterns
Algorithms Data Structures In Typescript
Stars: ✭ 175 (-5.41%)
Mutual labels:  design-patterns
Design Patterns In Ruby
GoF design patterns in Ruby
Stars: ✭ 1,969 (+964.32%)
Mutual labels:  design-patterns
Design Patterns
Modern view on classic design patterns implementation in Java
Stars: ✭ 157 (-15.14%)
Mutual labels:  design-patterns
Design Patterns
Stars: ✭ 164 (-11.35%)
Mutual labels:  design-patterns
React Bits
✨ React patterns, techniques, tips and tricks ✨
Stars: ✭ 11,572 (+6155.14%)
Mutual labels:  design-patterns
Baldphone
A new accessible interface for your smartphone, suitable for seniors
Stars: ✭ 181 (-2.16%)
Mutual labels:  design-patterns
100 Lines Of Code Challenge Js
Write Everything in JavaScript under 100 Lines!!!😈
Stars: ✭ 157 (-15.14%)
Mutual labels:  design-patterns
Jwave
A Discrete Fourier Transform (DFT), a Fast Wavelet Transform (FWT), and a Wavelet Packet Transform (WPT) algorithm in 1-D, 2-D, and 3-D using normalized orthogonal (orthonormal) Haar, Coiflet, Daubechie, Legendre and normalized biorthognal wavelets in Java.
Stars: ✭ 174 (-5.95%)
Mutual labels:  design-patterns
Design Patterns Python
Design Pattern Examples in Python
Stars: ✭ 150 (-18.92%)
Mutual labels:  design-patterns
Domain Driven Hexagon
Guide on Domain-Driven Design, software architecture, design patterns, best practices etc.
Stars: ✭ 4,417 (+2287.57%)
Mutual labels:  design-patterns
Design Patterns Explained With Food
GoF Design Patterns with "Real-World" examples involving Food-Related Businesses and mock dependencies
Stars: ✭ 2,152 (+1063.24%)
Mutual labels:  design-patterns
Laravel Api Templates
Laravel API starter kit collection using different structures.
Stars: ✭ 149 (-19.46%)
Mutual labels:  design-patterns
Unity Design Pattern
🍵 All Gang of Four Design Patterns written in Unity C# with many examples. And some Game Programming Patterns written in Unity C#. | 各种设计模式的Unity3D C#版本实现
Stars: ✭ 2,600 (+1305.41%)
Mutual labels:  design-patterns
Php Patterns
A minimal and conceptual PHP 5.4+ pattern collection that *will* cover design patterns (not only GoF's), anti-patterns, closure patterns, refactoring patterns
Stars: ✭ 147 (-20.54%)
Mutual labels:  design-patterns
Clean Flutter App
Aplicativo feito em Flutter usando TDD, Clean Architecture, Design Patterns e SOLID principles
Stars: ✭ 163 (-11.89%)
Mutual labels:  design-patterns
Golang Design Patterns
Implementation of design patterns in Golang
Stars: ✭ 181 (-2.16%)
Mutual labels:  design-patterns
Design Patterns And Idioms In Es6
Design patterns and idioms in JS(ES6) /w traceur
Stars: ✭ 179 (-3.24%)
Mutual labels:  design-patterns
Awesome Design Patterns
A curated list of software and architecture related design patterns.
Stars: ✭ 15,579 (+8321.08%)
Mutual labels:  design-patterns

golang_design_pattern

Code to achieve the design model with golang

Stargazers over time

设计模式

用golang语言实现设计模式

设计模式的六大原则

摘自 Java开发中的23种设计模式详解

  • 1、开闭原则(Open Close Principle)

    开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后 面的具体设计中我们会提到这点。

  • 2、里氏代换原则(Liskov Substitution Principle)

    里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何 基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受 到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。 实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽 象化的具体步骤的规范。—— From Baidu 百科

  • 3、依赖倒转原则(Dependence Inversion Principle)

    这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。

  • 4、接口隔离原则(Interface Segregation Principle)

    这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思,从这儿我们看出, 其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以上文中多次出现:降低依赖,降低耦合。

  • 5、迪米特法则(最少知道原则)(Demeter Principle)

    为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

  • 6、合成复用原则(Composite Reuse Principle)

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

文档

https://godoc.org/github.com/BPing/golang_design_pattern/pattern GoDoc

同类项目(golang)

go-pattern

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].