Что делать с моей монолитной моделью? - PullRequest
1 голос
/ 07 марта 2011

Моя пользовательская модель имеет около 2 тыс. Строк кода.Я уверен, что это так для многих приложений.Тем не менее, на мой взгляд, читаемость и даже удобство обслуживания начинают ухудшаться в моделях за пределами 400 строк кода.Поэтому я начал брать связанный код в пользовательской модели и организовывать его в модули в lib.Например, если у меня был код, связанный с друзьями пользователя, я создал модуль UserFriend и включил его в модель пользователя.

Это помогло решить исходную проблему.Однако недостатком является то, что каждый раз, когда я изменяю код в модуле в моей среде разработки, мне нужно перезапустить сервер, чтобы загрузить его.

Итак:

  1. Это мой оригинальный подход к обработкеправильная монолитная модель?
  2. Что можно сделать, чтобы избежать перезапуска сервера для загрузки изменений кода в пользовательских модулях?

Ответы [ 2 ]

0 голосов
/ 07 марта 2011

В Интернете есть несколько решений, позволяющих автоматически перезагружать папку lib в режиме разработки.

Один пост Я обнаружил, что если вам требуются файлы с использованием require_dependency вместо require, файл будет перезагружаться при каждом запросе.

Еще одно «хакерское» решение можно найти здесь , и включает добавление before_filter к вашему ApplicationController.

0 голосов
/ 07 марта 2011

Вы можете сделать одну вещь, просто храните ваши вспомогательные модули в самой папке модели, а не в папке lib ИЛИ создавать папку в модели, где вы можете хранить все вспомогательные модули. Я не вижу проблем с этим подходом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...