Кто-либо знает об успешном внедрении шаблона Доски? [закрытый]

Я хотел бы использовать std::getline и std::string для чтения всей строки, а затем только выйти из цикла, когда вы можете преобразовать всю строку в double.

#include <string>
#include <sstream>

int main()
{
    std::string line;
    double d;
    while (std::getline(std::cin, line))
    {
        std::stringstream ss(line);
        if (ss >> d)
        {
            if (ss.eof())
            {   // Success
                break;
            }
        }
        std::cout << "Error!" << std::endl;
    }
    std::cout << "Finally: " << d << std::endl;
}
19
задан Robert Gould 26 January 2009 в 08:42
поделиться

4 ответа

Взгляните на tuplespaces и его реализации. Это никогда не оказывало большое влияние, но все еще интересный подход к созданию распределенных приложений.

  • Jini (теперь река Apache)
  • GigaSpaces
  • Проект Блица (ссылка является битой с 06.04.2017)
  • TSpaces (исходная ссылка проекта является битой, отчет PDF вместо этого)
5
ответ дан 30 November 2019 в 04:37
поделиться

Шаблон доски хорош для совместных приложений. Кроме этого я склонен думать, что это - действительно не очень хорошая идея.

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

времена я нашел, что это обычно использовало в алгоритмах контрольный знак не наличия надлежащего первичного понимания проблемы, которая будет решена. Так, "чтобы быть на безопасной стороне", Вы делаете слишком много состояния доступным для слишком многих агентов.

я удалил этот шаблон из двух приложений и заменил его хорошими, твердыми интерфейсами, которые представили фактический функциональность и требования к данным, и он имел успех оба раза ;)

9
ответ дан 30 November 2019 в 04:37
поделиться

Распространено в системах C4I, где многие агенты, обновляющие состояние, являются человеческими, но некоторые - программные агенты.

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

3
ответ дан 30 November 2019 в 04:37
поделиться

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

Как хороший кандидат на это будет наша система.

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

К сожалению, такая рефакторинг требует больше ресурсов, чем у нас в настоящее время: (

7
ответ дан 30 November 2019 в 04:37
поделиться
Другие вопросы по тегам:

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