Skip to content

8. Package structure

Date: 2019-02-15

Status

Accepted

Context

We try to structure our package in logical sub-units but we want to maintain a consistent public interface.

Decision

We allow for arbitrarily nested sub-packages but export important classes and functions to the top level thus exposing a public interface. Our unit tests should reflect this package structure.

Consequences

Creating many modules and sub-packages can increase complexity of dependencies internally but will improve separation and use of clearly defined intefaces.