приведите к возврату по сравнению с выбором возврата

Я не думаю, что существует другая альтернатива (относительно переносимости кода) к GAE прямо сейчас, так как GAE находится в собственном классе. Верный GAE является облачными вычислениями, но я рассматриваю GAE как подмножество облачных вычислений. EC2 Amazon является также облачными вычислениями (а также Акселераторы Joyent, Части Slicehost), но очевидно они - два различных зверя также. Таким образом, прямо сейчас Вы находитесь в ситуации, которая требует пересмотра прежнего мнения Вашей архитектуры в зависимости от Ваших потребностей.

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

Теперь со всем этим в памяти мы можем также создать гибридные решения и обходные решения, которые могли бы выполнить наши потребности также. Например, GAE не кажется непосредственно подходящий для этого определенного приложения потребности, которые Вы описываете. Другими словами, GAE предлагает относительно высокое количество запросов, небольшое число циклов CPU (не уверенный, если заплаченный версию будет несколько отличаться).

Однако один способ заняться этой проблемой путем создания специализированного решения, включающего GAE как фронтэнд и Amazon AWS (EC2, S3 и SQS) как бэкенд. Некоторые скажут, что Вы могли бы также создать свой весь стек на AWS, но это может включить перезапись большого количества существующего кода также. Кроме того, как обходное решение предыдущее сообщение stackoverflow описывает метод моделирования фоновых задач в GAE. Кроме того, можно изучить , HTTP Отображает/Уменьшает для распределения рабочей нагрузки также.

21
задан Jader Dias 25 September 2009 в 21:15
поделиться

3 ответа

Метод yield return заставляет компилятор C # генерировать класс перечислителя «за кулисами», в то время как вызов Select использует стандартный класс перечислителя, параметризованный с помощью делегата. На практике между ними не должно быть большой разницы, кроме, возможно, дополнительного кадра вызова в случае Select для делегата.

Как бы то ни было, упаковка лямбда-выражения в районе DoSomething тоже бессмысленен; просто передайте для этого делегата напрямую.

17
ответ дан 29 November 2019 в 21:17
поделиться

В В медленно меняющемся корпоративном мире, где я сейчас провожу больше времени, чем хотелось бы, yield return имеет огромное преимущество, заключающееся в том, что ему не нужна новая платформа .NET 3.5 Framework, которая не будет установлена ​​еще как минимум 2 года.

11
ответ дан 29 November 2019 в 21:17
поделиться

Select позволяет вам возвращать только один объект для каждого элемента в вашей коллекции «items». Использование дополнительного .Where (x => DoIReallyWantThis (x)) позволяет отсеять нежелательные элементы, но по-прежнему позволяет возвращать только один объект для каждого элемента. Если вы хотите потенциально иметь более одного объекта для каждого элемента, вы можете использовать .SelectMany , но легко получить одну длинную строку, которую нелегко прочитать.

"yield return" имеет возможность сделать ваш код более читабельным, если вы просматриваете сложную структуру данных и выбираете кусочки информации здесь и там. Лучшим примером этого, который я видел, было то, что было около дюжины отдельных условий, которые привели бы к возвращенному объекту, и в каждом случае возвращенный объект был построен по-разному.

4
ответ дан 29 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

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