Design Patterns · Senior · Question 16 of 75

What does "functional core, imperative shell" mean?

Explanation

Calculations, validation and state transitions are easy to test without mocks, while requests, timers and the DOM are isolated at the edges. Redux reducers with effects in middleware, or TanStack Query, are examples of this separation.

Further reading

Problem with a question

Design Patterns · Senior · question 16

Test yourself

Take the Design Patterns · Senior quiz: questions and options are shuffled, and you get a review of your mistakes at the end.

Take this quiz