В книге Марка Гранда "Шаблоны проектирования" описан паттерн проектирования Future. Кто-нибудь использовал данный паттерн в C# и может объяснить в чем его суть?
Суть паттерна заложена в его названии: future - будущее. Он означает, что создаётся задача, которая когда-либо в будущем вернёт результат.
Реализацией этого паттерна в .NET является класс Task<T>. Что любопытно, изначально, на стадии разработки, он назывался Future<T>, но позже был переименован. Тем не менее, артефакты остались: например, файл Future.cs в исходном коде.
Для подробного ознакомления смотрите документацию по библиотеке TPL, в частности, Futures.
В современном C# есть ещё более удобные средства для работы с фьючерами - async/await.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей