The code visualization for the WhiteCat framework clearly shows the huge weight of the RoleBooster class. In fact, while the whole system is built around a lot of small classes, the RoleBooster is a class that has to do a lot of work in order to achieve the framework goals.

This does not automatically imply a bad OOP design, because the RoleBooster is the central "actor" that must make all the other small classes and objects cooperating together. So, while the RoleBooster itself allows a plug-in architecture, it must use such plugins, resulting in a big chunk of code, even if highly customizable. This situation becomes even clearer looking at the class dependency graph, that shows how the RoleBooster is tied to a lot of other interfaces without having though strong connections.

As for sake of documentation, I put below the image of the package dependency.

Of course, the above images represent the current status of the framework, and are going to change as the system evolves.

The article WhiteCat system complexity has been posted by Luca Ferrari on September 25, 2010