Portable Abstractions and Patterns for Golang
This module is a part of the Pip.Services polyglot microservices toolkit. It provides a set of basic patterns used in microservices or backend services. Also the module implemenets a reasonably thin abstraction layer over most fundamental functions across all languages supported by the toolkit to facilitate symmetric implementation.
The module contains the following packages:
- Commands - commanding and eventing patterns
- Config - configuration framework
- Convert - soft value converters
- Data - data patterns
- Errors - application errors
- Random - random data generators
- Refer - locator (IoC) pattern
- Reflect - reflection framework
- Run - execution framework
- Validate - validation framework
- Configuration Pattern
- Locator Pattern
- Component Lifecycle
- Components with Active Logic
- Data Patterns
- API Reference
- Change Log
- Get Help
Get the package from the Github repository:
go get -u github.com/pip-services3-go/pip-services3-commons-go@latest
For development you shall install the following prerequisites:
- Golang v1.12+
- Visual Studio Code or another IDE of your choice
Run automated tests:
go test -v ./test/...
Generate API documentation:
Before committing changes run dockerized test as:
The library is created and maintained by Sergey Seroukhov.
The documentation is written by Danyil Tretiakov and Levichev Dmitry.
There is no documentation for this package.
Contains implementation of Command design patterns, which can be used to implement various remote procedure calls (RPCs).
|Contains implementation of Command design patterns, which can be used to implement various remote procedure calls (RPCs).|
Portable and localizable Exceptions classes.
|Portable and localizable Exceptions classes.|
Random package contains implementation of random value generators that are used for functional as well as non-functional testing.
|Random package contains implementation of random value generators that are used for functional as well as non-functional testing.|
Contains design patterns for the standard lifecycle of objects (opened, closed, openable, closable, runnable).
|Contains design patterns for the standard lifecycle of objects (opened, closed, openable, closable, runnable).|