Where should a business rule end?
Separating independent concerns becomes concrete in a functional core: compute the decision from values, then let another layer carry out its effects.
Read on through a shared source
Why does testing a business rule need a database? →Separate who qualifies for a reminder from whether the reminder can be delivered.Do separate layers really separate concerns? →Placing code in different layers leaves the underlying concepts free to depend on each other. Trace which changes still require coordinated edits.Which choices should an API leave out? →Removing an uncertain feature reduces what clients must learn. Separating tangled concerns reduces how many choices they must consider together.
Compare the passages
start seeing interconnections between things that could be independentan imperative shell that surrounds the functional core.