Skip to main content
added 16 characters in body
Source Link
kofifus
  • 119
  • 4

Is there a general term for the software paradigm/principle where there is a clear separation between Data, State and Logic (Data - 'information' only, immutable with value semantics, State - 'storage' of Data only with clearly defined access/mutation mechanisms, Logic - pure stateless functionality that can mutate the States) ?

This is as opposed to OOP where Data State and Logic are coupled in a 'class'

I see this separation referred to in many places (especially in clojure) but I couldn't find a single name/term for it .. sometime 'functional' is used but there are ie many functional languages (ie Javascript) without such separation ?

(I am not sure if any other Tags are relevant here)

Is there a general term for the software paradigm/principle where there is a clear separation between Data, State and Logic (Data - 'information' only, immutable with value semantics, State - 'storage' only with defined access/mutation mechanisms, Logic - pure stateless functionality that can mutate the States) ?

This is as opposed to OOP where Data State and Logic are coupled in a 'class'

I see this separation referred to in many places (especially in clojure) but I couldn't find a single name/term for it .. sometime 'functional' is used but there are ie many functional languages (ie Javascript) without such separation ?

(I am not sure if any other Tags are relevant here)

Is there a general term for the software paradigm/principle where there is a clear separation between Data, State and Logic (Data - 'information' only, immutable with value semantics, State - 'storage' of Data only with clearly defined access/mutation mechanisms, Logic - pure stateless functionality that can mutate the States) ?

This is as opposed to OOP where Data State and Logic are coupled in a 'class'

I see this separation referred to in many places (especially in clojure) but I couldn't find a single name/term for it .. sometime 'functional' is used but there are ie many functional languages (ie Javascript) without such separation ?

(I am not sure if any other Tags are relevant here)

Source Link
kofifus
  • 119
  • 4

Terminology: separating Data, State and Logic

Is there a general term for the software paradigm/principle where there is a clear separation between Data, State and Logic (Data - 'information' only, immutable with value semantics, State - 'storage' only with defined access/mutation mechanisms, Logic - pure stateless functionality that can mutate the States) ?

This is as opposed to OOP where Data State and Logic are coupled in a 'class'

I see this separation referred to in many places (especially in clojure) but I couldn't find a single name/term for it .. sometime 'functional' is used but there are ie many functional languages (ie Javascript) without such separation ?

(I am not sure if any other Tags are relevant here)