# Reactive State Mutations via CQRS

DevFeed: [Reactive State Mutations via CQRS](<https://devfeed.tech/articles/reactive-state-mutations-via-cqrs-29374.md>)

Original publisher: [Read original article](<https://arturdryomov.dev/posts/reactive-state-mutations/>)

Author: Artur Dryomov

Published: 2018-10-21T00:00:00Z

Content type: article

Language: en

Sources: [Artur Dryomov](<https://devfeed.tech/sources/artur-dryomov.md>)

Topics: [reactive](<https://devfeed.tech/topics/reactive.md>), [Development](<https://devfeed.tech/topics/development.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [backend](<https://devfeed.tech/tags/backend.md>), [cache](<https://devfeed.tech/tags/cache.md>), [can](<https://devfeed.tech/tags/can.md>), [development](<https://devfeed.tech/tags/development.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [fetch](<https://devfeed.tech/tags/fetch.md>), [mutation](<https://devfeed.tech/tags/mutation.md>), [production](<https://devfeed.tech/tags/production.md>), [qa](<https://devfeed.tech/tags/qa.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [software](<https://devfeed.tech/tags/software.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [state](<https://devfeed.tech/tags/state.md>), [stateful](<https://devfeed.tech/tags/stateful.md>), [thread](<https://devfeed.tech/tags/thread.md>)

## AI overview

The article introduces state and state mutations in software development, then uses a book-recommendation project to show how changing requirements can make client logic increasingly complicated. It discusses duplicated distributed logic, stateful behavior, side effects, caching, and thread-safety concerns, but the supplied text does not include the proposed CQRS solution.

## Source excerpt

State-state-state. It surrounds us. Think hard enough and everything around will become either a state or a state mutation. The current time is a state and each passing second is a state mutation. A tree can be represented by a state and each drop of rain mutates it, increasing the water supply level and applying the pressure on leaves. The concept is not new, but sometimes it becomes too hard to manage it. Even in software development, which was basically created to represent the world around us in strict terms.