кэширование вычислений в ФЯП
От: Философ Ад http://vk.com/id10256428
Дата: 01.03.13 06:13
Оценка:
Будоражит мой ум один вопросик.
Как в ФЯП осуществляется кэширование вычисленных значений, т.е. то, что в императивных ЯП я делаю вот так:


private SomeType m_CalculatedValue;

public SomeType GetValue ()
{
         if (m_CalculatedValue == null)
            m_CalculatedValue = CalculateValue();

         return m_CalculatedValue;
}


более интересный пример, когда значение устаревает


private DateTime m_TimeValue;
private SomeType m_CalculatedValue;

public SomeType GetValue ()
{
         if (m_CalculatedValue == null)
            {
               m_CalculatedValue = CalculateValue();
               m_TimeValue = DateTime.Now;
            }
         
         var elapsedTime = DateTime.Now - m_TimeValue;
         if (elapsedTime > MaxAge)
            {
               m_CalculatedValue = CalculateValue();
               m_TimeValue = DateTime.Now;
            }
         return m_CalculatedValue;
}
Всё сказанное выше — личное мнение, если не указано обратное.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.