In this chapter, we saw two patterns: Redux and MVC. Redux and the MVC can be used to achieve the same purposes (manage the states of our application in reaction to asynchronous events or user actions). Both patterns have advantages and shortcomings. The advantages of the MVC in the Angular application, from my point of view, is that everything is well defined and separated. Indeed, we have a domain object (User), a model (UserModel), and a view linked to a component. We saw that same model and domain object across many components and views in favor of reuse across apps. The problem is that it can get expensive to create new functionalities in our apps because you'll have to create—or, at least, modify,—a good chunk of architecture.
Additionally, whether by mistake or by design, if you share models across several components and services, it can be extremely...