Functional Core, Imperative Shell
Published: in ac77c30
Updated: in 8f1ede6
- As the name suggest 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.