I semi-isolated the I/O weirdness with my specification, but it's still kinda munged in with the other code, and that always confuses and distracts the students. Maybe I should create a clearer/stronger interface that separates the simulator from all the setup/takedown I/O stuff? Done well, that could help clarify the role of those tools, and make things easier to understand for the students.
It's possible that factories would be useful here as part of this, so things like JobFactory that takes a JobSpecification and spits out a Job?
It might be nice to include Sahni's name in some of these things to help clarify what's tied to the original Sahni input.
I semi-isolated the I/O weirdness with my specification, but it's still kinda munged in with the other code, and that always confuses and distracts the students. Maybe I should create a clearer/stronger interface that separates the simulator from all the setup/takedown I/O stuff? Done well, that could help clarify the role of those tools, and make things easier to understand for the students.
It's possible that factories would be useful here as part of this, so things like
JobFactorythat takes aJobSpecificationand spits out aJob?It might be nice to include Sahni's name in some of these things to help clarify what's tied to the original Sahni input.