Я боролся с проблемой дизайна, и я признаю, что я новичок в OOP и RoR, поэтому я уверен, что это будет очень просто.У меня есть приложение, в котором я читаю из текстовых файлов в различных форматах, чтобы анализировать информацию, связанную с руками в покере.Итак, у меня есть три объекта:
Файловый объект.Здесь хранятся имя и путь к файлу и некоторые другие атрибуты, а также функции, связанные с чтением из файлов.Это MVC, потому что я могу добавить файл и автоматически обновлять его, или я могу просто анализировать информацию из файла на лету.
Объект покерной руки.По сути, это просто хранит информацию о том, кто играл в покер, и каковы были действия и результаты.
Анализатор.Это читает внешние файлы JSON с различными шаблонами регулярных выражений в зависимости от типа файла, который читается.Он также содержит некоторую базовую информацию о состоянии машины в файле JSON, поэтому большая часть логики удаляется из анализатора.
Таким образом, мое первоначальное чувство в отношении синтаксического анализатора заключалось в том, что он должен быть его собственным объектом.Но потом я понял, что у него нет V или C и, возможно, он не подходит для Rails.И он также не имеет никакой функциональности, которая нужна любому объекту, кроме объекта file, и поэтому, кажется, вписывается в файл.Но в то же время он настолько сильно отличается от файлового объекта, что кажется не подходит.Я подумал о модуле, но смысл модулей в том, что если несколько объектов разделяют потребность в некоторых функциях, и в этом случае это делает только файл.
Так что это должен быть его собственный объект, находящийся внутриобъект файла, или я не вижу другой альтернативы?