Skip to content

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.