Дмитрий: А. Формально аттрибуты тут лишние, поэтому нужно создать другой класс.
Тем же t4 можно сгенерировать DTO.
Для маппинга можно маппер использовать или так же генератор.
>>из SOLIDа только применяется принцип единственной ответствености)
Можно и так жить =)
Если нет жестких требований к производительности,не вижу причин не следовать всем принципам, кроме лени.
Вроде модель можно скомпилировать динамический,а не статический.
Я правда не понял, в чем динамика, если надо при сборке все равно модуль указывать. Возможно пересобирать модуль можно отдельно .
johnslowpoke: Смысла пока не вижу в шаблонах. Все равно будет переопределяться функция конкретный сигнатуры. Можно было бы тупо сделать абстрактные методы и дергать словарь с коллбэком+конкретная реализация.
johnslowpoke:можно добавить шаблон с одним аргументом,который(при специализации) будет вызывать другой шаблон уже с двумя.
Кодогенерация поможет, если лень печатать с любой реализацией.