Надеюсь, это поможет.
Можете ли вы дать всеобъемлющий
определение этих терминов?
См. Мой блог в: http://leecampbell.blogspot.com/2010/08/rx-part-7-hot-and-cold-observables.html
Имеет ли смысл звонить
Опубликовать на горячую заметку или отложить
на холод?
Нет, не то, чтобы я мог думать.
Каковы аспекты горячей / холодной
конверсии - вы теряете сообщения,
например?
Возможно «потерять» сообщения, когда «Наблюдаемый» горячий, поскольку «события» происходят независимо от подписчиков.
Есть ли различия между горячим и
холодные определения для IObservable и
IEnumerable?
Я не совсем понимаю вопрос. Я надеюсь, что эта аналогия помогает, хотя. Я бы сравнил Hot Observable с нетерпеливо оцененным IEnumerable. т. е. List или Array оба оценены с нетерпением и заполнены, даже если никто не перечисляет их. Оператор yield, который получает значения из файла или базы данных, может лениво оцениваться с помощью ключевого слова Yield. Хотя lazy может быть хорошим, по умолчанию он будет переоценен, если над ним будет работать второй перечислитель. Сравнивая их с Observables, Hot Observable может быть событием (нажатие кнопки) или подачей температуры; эти события будут происходить независимо от подписки, а также будут передаваться, если несколько подписок были сделаны на одну и ту же обсервалию Observable.Interval - хороший пример холодной наблюдаемой. Это только начнет производить значения, когда подписка сделана. Если выполнено несколько подписок, последовательность будет переоценена, и «события» будут происходить в разное время (в зависимости от времени между подписками).
Какие общие принципы следует учитывать при программировании для холодного или горячего?
См. Ссылку в первом пункте. Я также рекомендовал бы вам изучить использование Publsh в сочетании с RefCount. Это позволяет вам иметь ленивую семантику оценки Cold Observables, но обмениваться событиями, которые получают Hot Observables.
Любые другие советы по горячей / холодной
Наблюдаемые?
Запачкайте руки и поиграйте с ними. После того, как вы прочитали о них более 30 минут, время, потраченное на их кодирование, станет для вас гораздо более продуктивным, чем чтение:)