Пройдя путь создания чего-то, что потребует лишь незначительных настроек для поддержки нескольких форматов, я бы сказал, что нет.Принципы СУХОЙ здесь не применяются, потому что каждый новый формат действительно и действительно независим от других и может измениться.
Да, это может означать копирование / вставку значительных объемов кода, но, честно говоря, после того, как будет выполнен один формат, вам не придется беспокоиться об этом, пока получающее программное обеспечение не обновит свои спецификации.Кроме того, если этот формат изменяется, вы, как правило, не хотите, чтобы какие-либо из этих изменений влияли на ваш другой выходной код.
Короче говоря, это одна из тех областей, которая должна быть инкапсулирована только до некоторого типаплагин архитектуры.Это означает, что все классы должны реализовывать базовый интерфейс, который просто определяет, как ваше основное приложение будет передавать в него данные.После этого классы должны иметь возможность значительно отличаться друг от друга И обновления в одном не должны влиять на другие.