Functional Core, Imperative Shell
Published: in da1f965
Updated: in b1e378a
- As the name suggests the core domain logic of the software should be functional. It must rely on immutable values and pure functions.
- The shell can be programmed in an imperative style. It will take care of all the side effects like making and responding to network requests.
- The shell can call the core but not the other way around.