The diffculty with monolithic components
If you could implement just one component for any given feature, it would simplify your job. At the very least, there wouldn’t be many components to maintain, and there wouldn’t be many communication paths for data to flow through because everything would be internal to the component.
However, this idea doesn’t work for a number of reasons. Having monolithic feature components makes it difficult to coordinate any kind of team development effort, such as version control, merge conflicts, and parallel development. The bigger the monolithic components become, the more difficult they are to refactor into something better later on.
There’s also the problem of feature overlap and feature communication. Overlap happens because of similarities between features; it’s unlikely that an application will have a set of features that are completely unique to one another. That would make the application very difficult...