Я рисую полный бланк на название этого шаблона дизайна.
Иногда он используется с генераторами кода, которые создают иерархию базовых классов И производных классов, где на каждом уровне производное наследует от базового, но базовое наследует от производного класса на один уровень вверх (если он есть). Таким образом, связь наследования в каждом поколении продолжает переходить назад и вперед между производными и базовыми классами.
Результатом паттерна является то, что вы можете вручную модифицировать производный класс (который затем никогда не генерируется заново), и изменения отражаются во всей иерархии классов. Преимущество состоит в том, что вы можете восстановить базовые классы и сохранить изменения, сделанные в любых производных классах.
Это чрезвычайно полезный шаблон, и отличным примером этого является генератор кода GAS3 от GraniteDS:
http://www.graniteds.org/confluence/display/DOC/3.+Gas3+Code+Generator
Раньше я знал название этого паттерна, и тот факт, что я не могу вспомнить, делает меня безумным . HELP !!!