Sonntag, 8. März 2009

CS4282/CS6282 Internet and Distributed Systems Programming

CS4282/CS6282 Internet and Distributed Systems Programming

Doug Lea : Concurrent Programming in Java

Notes : page 49-51

Systems design trade-offs

1. Perfect static information about objects, threads and iteractions tells you not only what can happen, but also what CANNOT happen.

2. While closed sub-systems are tractable, they can also be brittle. When the constraints and assumptions governing their internal structure change, these components are often thrown away and redeveloped from scratch.

3. Unbounded openness is usually as unattainable and undesirable as complete closedness: If everything can CHANGE, then you CANNOT program anything. But most system require at least some of this flexibility.

4. While inducing greater closedness allows you to optimize for performance, inducing greater openness allows you to optimize for future change.



Keine Kommentare: