Когда ИППП имеет смысл? Мы храним одну и ту же информацию для каждого типа, но используем ее по-разному. - PullRequest
1 голос
/ 26 июля 2011

Так что я знаю, что ИППП - самая оскорбленная вещь, но у меня есть случай, когда я думаю, что это может иметь смысл. Мое приложение анализирует кучу разных типов XML-файлов. Каждая файловая модель хранит одинаковую информацию. Просто некоторая информация о том, с каким пользователем он связан, когда он был загружен и где он хранится на S3.

После сохранения XML-файла я анализирую его на предмет информации, которую я использую для создания различных других моделей. Каждый тип файла собирается создавать разные вещи. Возможно, может быть 100 или более различных типов XML-файлов, хотя я не думаю, что я собираюсь писать парсеры для такого количества. Имеет ли смысл ИППП в этом случае?

Недостатком, я полагаю, является то, что все модели находятся в одном каталоге, поэтому он запустит этот каталог, если только не взломает Rails и не вставит его в подкаталог в каталоге моделей.

Другой вариант - у меня есть доброе поле и я помещаю что-то в каталог lib, который обрабатывает все это. Или я использую Resque, может быть, каждый анализатор XML-файлов должен быть своей собственной работой. У этого есть недостатки, хотя вроде бы неудобно заставлять работать в консоли rails.

1 Ответ

0 голосов
/ 26 июля 2011

Из вашего объяснения, модель «файл» хранит только результаты процесса загрузки файла и связанные метаданные.Без дополнительной информации о других видах моделей, генерируемых из проанализированных данных XML, я не понимаю, почему наследование одной таблицы применяется к этому варианту использования.

...