Design Principles
The design principles mentioned in this document are at the core of the software we create at Optakt, as they provide helpful guidelines for engineers to build software in well-thought-out ways. They provide means to build complex software effectively so that it is testable, maintainable, expandable and clear.
SOLID
The SOLID acronym represents five design principles:
- Single-responsibility principle
- Open-closed principle
- Liskov Substitution principle
- Interface segregation principle
- Dependency inversion principle
Go is a perfect language for integrating all of those principles within your software design, and this is best explained by Dave Cheney in his article on the matter.