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:
Kommentar veröffentlichen