http://citforum.ru/SE/project/pattern/p_1.shtml
Методика построения архитектуры легкорасширяемого приложения со множеством похожих элементов.
Общий смысл - абстрагироваться от реальных классов с помощью использования интерфейсов, абстрактных и базовых классов.
Думаю следует применять его (конечно, же совместно с другими) в этом проекте.
Будут ли комментарии?