This is where my naivete with working in Java shows itself. I'm largely self-taught and there are definitely some holes in my knowledge when it comes to good coding practice, designing flexible code, etc. While testing out XStream to save a simple starSystem object, I realized that my existing code structure for in-game objects--based purely on inheritance--would make things somewhat difficult to load/save and was also going to make it very difficult to go back and refactor code later on.
So, I'm switching to a structure using interfaces and object composition ("has-a" instead of inheritance's "is-a" relationship). Shouldn't take too long to retool--I've already created the necessary interfaces and have reworked the Star model classes already. Next I'll rework the Star controllers and then move on to the starSystem classes.
A couple hours effort overall, then its back to working on the load/save system!
No comments:
Post a Comment