最近我已經進入支持演員/代理/無共享體系結構的替代語言 - 即。 scala,clojure等(clojure也支持共享狀態)。基於Agent/Actor的併發設計的設計模式
到目前爲止,我所閱讀的大多數文檔都集中在介紹級別。我正在尋找的是四人幫的更先進的文檔,但沒有任何基礎。
爲什麼?它有助於挖掘設計思維的變化。簡單的例子很容易,但在真實世界的Java應用程序(單線程)中,您可以擁有1000個具有複雜關係的成員的對象圖。但是基於代理的併發開發,它引入了一套全新的想法來理解大型系統的設計。即。代理粒度 - 一個代理應該管理多少狀態 - 對性能等的影響,或者是將共享狀態對象圖映射到基於代理的系統的良好模式。提示將域模型映射到設計。討論不是關於技術,而是更多關於如何在設計中使用該技術(現實世界「複雜」的例子會很棒)。
臉書聊天聽起來很有趣。當你看到chat/pbx設計的問題時,「交互」對象成爲一個很好的「代理人」,因爲交互在大多數情況下都是自成體系的(政黨,各方fsm等)。很高興看到他們做了明智的設計。 – nso1 2009-03-17 02:26:06