1 |
can play both client and server
-
in client/server you trust the server, but not clients
|
2 |
evolve continually
-
objects delegate parts of its implementation to the other objects (also dynamically composed at runtime). Because of subclassing, the implementation of an object may change over time
|
3 |
interaction are not well defined
-
because of encapsulation, you cannot understand all the interactions between objects
|
4 |
are polymorphic (ideal for Trojan horses!)
|
5 |
can scale without limit
-
how do you manage access right to millions of servers?
|
6 |
are very dynamic
|