| There are some interesting and relevant responses here, yet none of them clearly address the specific question you’ve raised. How are single point designs more advantageous in some contexts, and redundancies more advantageous in others. The most meaningful difference in these circumstance are regarding coherent design and delegation. By coherent design redux is where you store your information to be most immediately avail for use. Consider having paperwork for your busy business. You have one place where that paperwork goes so it stays with other like things and you can easily find it when you need it. Delegation however is dependent upon factors outside of your immediate environment. You may want to delegate a redundant backup of your paperwork offsite, yet you would still only have one place to look for it in your office (lest you accidentally maintain multiple divergent copies of the same files.) When delegating, you may well have a primary, yet there is a risk/overhead completely consideration regarding how many redundant delegates one may rely upon (as many as you can afford/keep consistent.) Notice, even when delegating, you will still want one coherent WAY you delegate. Having each piece of business logic decide how to fetch data remotely vs using one library (redux) to organize these requests. Ask yourself, what does this simplify? Am I delegating control of a valuable asset? What happens when that part cannot be relied upon? In this circumstance, you are considering in-app business logic organization vs network topology. |