Tout en découvrant Redux, le modèle d'objet divin (ou anti-modèle) m'est venu à l'esprit - les deux ont un seul grand objet contenant toutes les données de l'application et les méthodes pour les manipuler. Mais Redux a mis quelques contraintes comme rendre l'objet immuable et les fonctions pures d'événements en maintenant une signature stricte.
Alors la question est venue, est-ce que Redux utilise une version aseptisée de l'objet Dieu? Ou, il y a quelque chose à voir avec Javascript qui n'est pas un POO classique fortement typé?
DbContext
) mais ses données internes sont subdivisées en parties plus petites (tableaux, schémas).Réponses:
Qu'est-ce qu'un objet divin? De Wikipédia:
Le magasin Redux ne contient qu'un seul objet de données et ne nécessite que 2 ou 3 méthodes. À cet égard, il est difficile d'imaginer le considérer comme un objet divin. Ce n'est décidément pas «tout savoir».
Maintenant, si votre réducteur n'est pas du tout cassé, si toute la logique est dans une seule fonction, alors cela pourrait être qualifié, mais il est simple de diviser le réducteur en un tas de petits morceaux pour éviter la situation.
la source
OMI, La question ci-dessus ne devrait pas se poser. Les concepts de programmation fonctionnelle ne sont pas comparables aux concepts d'OOPS, ce sont juste des façons différentes de résoudre le même problème.
la source
La première page montre clairement que Redux résout un problème spécifique aux applications Web à page unique:
Comme les exigences pour les applications JavaScript à page unique sont devenues de plus en plus complexes, notre code doit gérer plus d'états que jamais auparavant. (de Redux - Motivation)
Ma propre traduction est la suivante: les applications Web et les cadres de création d'applications Web sont en désordre et lorsqu'ils s'exécutent dans un navigateur, ils sont confrontés à un ensemble unique de problèmes qui ne se posent tout simplement pas en dehors des applications Web.
Ne vous méprenez pas - je ne dis pas que les applications Web sont mauvaises ou que les cadres sont mauvais. C'est juste que les pages Web et tout le paradigme à ce sujet n'ont indéniablement jamais été conçus avec des applications à l'esprit. Certaines applications Web fonctionnent remarquablement bien - j'adore Google Docs par exemple, c'est mieux que les équivalents des applications natives.
Mais Redux n'est qu'un outil pour gérer les problèmes qui surviennent lorsque vous devez gérer les limitations et les problèmes qui découlent de la création d'applications Web qui s'exécutent dans un navigateur.
Pour une application iOS ou une application native de tout type, cela n'a aucun sens. Le modèle objet gère facilement les modifications asynchrones et l'interaction utilisateur. Vous saurez toujours ce qui se passe. Le rendu des différents états n'est pas un problème et est automatisé avec MVC et les événements de mise à jour.
Vous n'êtes jamais confronté à une situation comme les applications Web.
** Si votre architecture est mauvaise, eh bien, rien ne peut vous sauver, pas même Redux;)
la source