SObjectizer - Гэта адносна невялікі фрэймворк для спрашчэння распрацоўкі складаных шматструменных прыкладанняў на C ++. SObjectizer дазваляе распрацоўніку будаваць свае праграмы на базе асінхроннага абмену паведамленнямі з выкарыстаннем такіх падыходаў як Actor Model, Publish-Subscribe і CSP. Гэта OpenSource праект пад BSD-3-CLAUSE ліцэнзіяй. Кароткае ўражанне аб SObjectizer-е можна скласці на падставе вось гэтай прэзентацыі.
Версія 5.6.0 з'яўляецца першым мажорным рэлізам новай галінкі SObjectizer-5.6. Што азначае таксама завяршэнне развіцця галінкі SObjectizer-5.5, якая развівалася больш за чатыры гады.
Паколькі версія 5.6.0 адчыняе новы раздзел развіцця SObjectizer-а, то новаўвядзенняў зусім няма ў параўнанні з тым, што было зменена і/ці выдалена з SObjectizer-а. У прыватнасці:
- выкарыстоўваецца C++17 (раней абыходзіліся падмноствам C++11);
- праект пераехаў і жыве зараз на BitBucket-е з афіцыйным, а не эксперыментальным, люстэркам на GitHub-е;
- у кааперацый агентаў няма больш радковых імён;
- з SObjectizer выдалена падтрымка сінхроннага ўзаемадзеяння паміж агентамі (яго аналог рэалізаваны ў спадарожным праекце so5extra);
- выдаленая падтрымка ad-hoc агентаў;
- для дасылкі паведамленняў зараз выкарыстоўваюцца толькі вольныя функцыі send, send_delayed, send_periodic (старыя метады deliver_message, schedule_timer, single_timer з публічнага API канфіскаваныя);
- функцыі send_delayed і send_periodic зараз маюць адзіны фармат па-за залежнасцю ад тыпу атрымальніка паведамлення (няхай гэта будзе mbox, mchain або спасылка на агента);
- дададзены клас message_holder_t для спрашчэння працы з пераалакаванымі паведамленнямі;
- выдалена мноства рэчаў, якія былі пазначаныя як deprecated яшчэ ў галінцы 5.5/XNUMX;
- ну і яшчэ ўсякае рознае.
Больш разгорнуты спіс змен можна знайсці тут. Там жа, у Wiki праекту, можна знайсці дакументацыю па версіі 5.6.
Архівы з новай версіяй SObjectizer можна ўзяць на BitBucket-е або на SourceForge.
PS. Адмыслова для скептыкаў, якія лічаць, што SObjectizer нікому не патрэбен і нікім не выкарыстоўваецца. Гэта не так.
Крыніца: linux.org.ru