Use an expert designer to design generic parts
Separate the generic from the specific parts of problems. Use an expert, framework designer to design generic parts. Let the novice programmers design the specific parts.
“If a novice programmer is left alone to design, or even when mentored, we can expect poor design and cut and paste coding”. This is the opinion of the writers of the source of this pattern, and when the mentoring is not fully effective, this may indeed be the case. One approach to this problem, that can be applied wherever Object-Oriented Programming is being used, is to use the experts to design the generic (common factor) parts of the system, and put the novices on to developing the specific parts.
In almost all cases, DevelopingInPairs is likely to be a better approach to the problem. Yet doing both may be better still; novices pairing with experts some of the time, and with each other for the rest of the time; splitting the generic from the specific, and ensuring an expert is a member of every pair at work on the generic parts.
Some modern approaches say YouAren'tGoingToNeedIt, and would not explicitly plan to separate Generics from Specifics.