November 2017
Intermediate to advanced
670 pages
17h 35m
English
One issue that we soon face when building large Go applications is how to manage our dependencies. The larger your Go application gets, the more likely we are to encounter cyclic dependency errors unless our design accounts for the dependency rule.
What is the dependency rule and why does the Go compiler deem it so important?
The dependency rule says that source code in a lower-level layer can make use of code in higher-level layers yet higher-level layers may not make use of code in lower-level layers. Dependencies may only point in one direction.
What's the difference between a lower-level and a higher-level layer?
Consider the following diagram:
In functional terms, ...