Challenge 3: The Crystal Ball Problem
•Clear picture at the beginning …
•But it begins to get cloudy.
Vehicle
VehicleUI
FileWriter
Vehicle
VehicleUI
FileWriter
Writable
?
?
Now every existing Vehicle dependency has the choice of using the old Vehicle interface, or the new Writable interface.
We could ask the programmer to make these choices explicitly, or assume that things should stay the way they are.
I don’t have a good solution to this problem -- yet.
At least, the programmer could alternate between Dr. Jones and a source-code editor to implement changes periodically, then refresh Dr. Jones.