I'm trying to refactor a 2.5KLOC god-class (with about 68 data members and 62 member functions) that performs a wide variety of text formatting and layout operations. After a careful analysis based on:
- Which member function reference which data members and,
- The logical formatting sub-tasks
I've partitioned the data members and members functions into 9 classes. The problem now is that most of these smaller classes are repeatedly reaching for data held by other classes (classic feature envy). What sort of refactoring would be advisable in this situation?
It probably doesn't matter bit if it does, I'm programming in C++.