Как реализовать одноэлементную модель

Попробуйте это, я сам это сделаю

\i 'somedir\\script2.sql'
29
задан Aaron Maenpaa 30 December 2008 в 04:03
поделиться

5 ответов

Я не уверен, что потратил бы впустую database/ActiveRecord/Model наверху для такой главной потребности. Эти данные относительно статичны (я принимаю), и на лету вычисления не необходимы (включая поиски базы данных).

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

нет никакой причины, что данные не могли только находиться в памяти и сохранить Вас тонна сложности. Константы доступны везде, и их не должны инициализировать или инстанцировать. Если его абсолютно критическое, что Вы используете класс как одиночный элемент, я рекомендовал бы делать эти две вещи:

  1. undef инициализировать/новым метод
  2. определяют только сам.* методы таким образом для Вас не возможно поддержать состояние
9
ответ дан Derek P. 11 October 2019 в 14:32
поделиться

Используя has_many :contacts не означает, что Вам нужна модель. has_many делает некоторое волшебство, но в конце это, просто добавляет некоторый метод с указанным контрактом. Нет никакой причины, почему Вы не можете реализовать те методы (или некоторое подмножество, в котором Вы нуждаетесь) заставить Вашу модель вести себя как он has_many :contacts все же не, на самом деле используют модель ActiveRecord (или модель вообще) для Контакта.

1
ответ дан Otto 11 October 2019 в 14:32
поделиться

Вы могли бы также проверить Configatron:

http://configatron.mackframework.com/

Configatron делает конфигурирование Ваших приложений и сценариев невероятно легким. Больше не там потребность использовать константы или глобальные переменные. Теперь можно использовать простую и безболезненную систему для конфигурирования жизни. И, потому что it‘s весь Ruby, можно сделать любую сумасшедшую вещь, требуется!

1
ответ дан user44104 11 October 2019 в 14:32
поделиться

Разногласия хороши, Вам не нужен одиночный элемент. Неудачно, что одна из худших привычек дизайна выйти из повального увлечения шаблонов является также одним из обычно принятый. Я обвиняю неудачное появление простоты, но я отступаю. Если бы они назвали его "Статическим Глобальным" шаблоном, я уверен, что люди были бы более робкими об использовании его.

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

Некоторые люди называют это шаблоном моносостояния. Я склонен думать о нем как просто другое скручивание на понятии стратегии/агента, так как можно допускать больше гибкости путем реализации различных интерфейсов для представления/скрытия функциональности.

3
ответ дан JGeiser 11 October 2019 в 14:32
поделиться

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

, Как YAML отличающийся от базы данных?.. та же развертка - внешний к коду приложения персистентная установка.

Хорошая вещь о подходе базы данных состоит в том, что он может быть изменен на лету более или менее безопасным способом (не вводные и перезаписывающие файлы непосредственно). Другая хорошая вещь - он, может быть совместно использован по сети кластерными узлами (если правильно реализовано).

вопрос однако остается тем, что было бы надлежащим способом реализовать такое использование установки ActiveRecord.

24
ответ дан user43685 11 October 2019 в 14:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: