When being complex information systems you ended with subtle drifting in what something actually means from person to person or over time.
More directly in regards to having ambassadors working with unseen objects:
Seems like you would need some shared "language" the objects speak otherwise communication is impossible. Maybe a better way of describing intent or information? Like some kind of logical or declarative model + messages.
And it also reminds me of https://en.wikipedia.org/wiki/Smart_contract and one can see how different block-chains need different interpreters to understand what computation are needed in order to "execute" the message.
>The essence of object orientation is that networks of collaborating objects work together to achieve a common goal.
> The common sense of object oriented programming should reflect this essence with code that specifies how the objects collaborate. Our industry has, unfortunately, chosen differently and code is commonly written in terms of classes.
> A class tells us everything about the properties of the individual objects that are its instances. It does not tell us anything about how these instances work together to achieve the system behavior.
It kind of reminds me of bounded contexts like the ones from http://martinfowler.com/bliki/BoundedContext.html
When being complex information systems you ended with subtle drifting in what something actually means from person to person or over time.
More directly in regards to having ambassadors working with unseen objects:
Seems like you would need some shared "language" the objects speak otherwise communication is impossible. Maybe a better way of describing intent or information? Like some kind of logical or declarative model + messages.
Also come to think of it reminds me of: https://en.wikipedia.org/wiki/Intentional_programming