Я работаю над кроссплатформенным проектом C ++ с 8 другими людьми, который использует следующие библиотеки:
Предполагается, что проект будет кроссплатформенным, поэтому все пользователи согласились не использовать код, зависящий от платформы, и, чтобы все было как можно проще, все пользователи будут использовать Eclipse в качестве своей IDE. Однако некоторые будут использовать Eclipse для Windows, в то время как другие будут использовать Eclipse для Linux.
Поскольку проект будет размещен на SVN, мы хотели бы избежать конфликтов с различными файлами конфигурации (такими как файлы make, файлы проекта eclipse и т. Д.) .), которые являются общими. Мы также хотели бы поделиться как можно большим количеством файлов конфигурации через SVN, чтобы сохранить конфигурацию как можно более простой.
Давайте ' Создайте ассоциацию, если ничего не найдено, чтобы избежать ошибок nil У меня есть приложение, в котором мои пользователи могут иметь набор настроек. Оба хранятся как модели ActiveRecord следующим образом: class User У меня есть приложение, в котором мои пользователи могут иметь набор настроек. Обе они хранятся как модели ActiveRecord следующим образом: Теперь я могу получить доступ к предпочтениям пользователя: Но это не удается, если набор предпочтений еще не создан, поскольку @ u.preference_set будет возвращать nil, а я буду вызывать Я хочу заархивировать, что User.preference_set всегда возвращает экземпляр PreferenceSet. Я пробовал определить его так: Это вызывает Мой вопрос: Как я могу убедитесь, что class User < AR::Base
has_one :preference_set
end
class PreferenceSet < AR::Base
belongs_to :user
end
@u = User.first
@u.preference_set => #<PreferenceSet...>
@u.preference_set.play_sounds => true
play_sounds
на nil
. class User < ..
has_one :preference_set
def preference_set
preference_set || build_preference_set
end
end
«Уровень стека слишком глубокий»
, поскольку он вызывает себя рекурсивно. @ user.preference_set
возвращает либо соответствующую запись набора настроек, либо, если ее нет,
} Затем мы создали объект этого класса (или какой-то другой фреймворк создал экземпляр этого ...
Допустим, у нас есть класс:
public class MyClass {
@Autowired private AnotherBean anotherBean;
}
Затем мы создали объект этого класса (или какой-то другой фреймворк имеет создал экземпляр этого класса).
MyClass obj = new MyClass();
Можно ли по-прежнему внедрять зависимости? Примерно:
applicationContext.injectDependencies(obj);
(я думаю, что в Google Guice есть что-то вроде этого)