Имя шаблона для кода, генерирующего иерархию базовых и производных классов?

Я рисую полный бланк на имя этого шаблона дизайна.

Иногда он используется с генераторами кода, которые создают иерархию базовых классов И производных классов, где на каждом уровне производное наследует от базового, но базовое наследует от производного класса на один уровень вверх (если он есть). Таким образом, связь наследования в каждом поколении продолжает перебегать назад и вперед между производными и базовыми классами.

Результатом шаблона является то, что вы можете вручную модифицировать производный класс (который затем никогда не генерируется заново), и изменения отражаются по всей иерархии классов. Преимущество заключается в том, что вы можете восстановить базовые классы и сохранить изменения, сделанные в любых производных классах.

Это чрезвычайно полезный шаблон, и отличным примером этого является генератор кода GAS3 от GraniteDS:

http://www.graniteds.org/confluence/display/DOC/3.+Gas3+Code+Generator

Раньше я знал название этого паттерна, и тот факт, что я не могу вспомнить, сводит меня с ума. ПОМОГИТЕ!!!

1 ответ

Решение

DOH - Как это случилось, написание вопроса, должно быть, потрясло мою память. Это называется паттерном "Пазл поколений":

http://www.research.ibm.com/designpatterns/pubs/gg.html

Другие вопросы по тегам