NHibernate ISet по сравнению с IList

Похоже, у вас есть дополнительная строка, вставленная в середину кода в строке 105:

  $class = strtolower(end(explode('/', $library)));
    public function helper($helper = array()) // <===== delete this one
  if (isset($this->_ci_classes[$class]) AND 

Похоже, у вас есть дополнительная строка, вставленная в середину кода в строке 105:

[110]

Если вы запустите php -l <file> для ваших файлов из командной строки, это скажу вам точно, где ошибки.

alias = $this->_ci_classes[$class]) return CI::$APP->

Похоже, у вас есть дополнительная строка, вставленная в середину кода в строке 105:

[110]

Если вы запустите php -l <file> для ваших файлов из командной строки, это скажу вам точно, где ошибки.

alias;

Если вы запустите php -l <file> для ваших файлов из командной строки, это скажу вам точно, где ошибки.

14
задан Chris Marisic 19 March 2012 в 15:56
поделиться

2 ответа

Я полагаю, что это происходит главным образом из-за наследия Java NHIBERNATE.

См. запись FAQ на персистентных наборах . Конкретно упоминают, как Java содержит больше наборов по умолчанию, что C# и они, в особенности отображаются на ISet.

я верю причине, которую использует большинство образцов, это главным образом просто, потому что это более распространено в Java, и образцы были портированы от Java. (Часть демонстрационного набора использования, действительно не нуждаясь в нем, чтобы быть набором...)

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

17
ответ дан 1 December 2019 в 12:14
поделиться

Интерфейс набора выражает только, которым может быть получающийся набор:

  1. протестированный на членство
  2. перечисленный в некотором произвольном порядке (который мог бы измениться)

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

При помощи менее строгого контракта (устанавливает) Вас, получают больше свободы в том, что можно использовать (можно загрузить набор в любом порядке, например, и никакое использование класса не должно заботиться, не ли это упорядочивание последовательно)

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

7
ответ дан 1 December 2019 в 12:14
поделиться
Другие вопросы по тегам:

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