I am re-architecting a project. There are a lot of "unnatural" things in the original design. This is a java project. For example, ShoppingCart extends the java.util.Hashtable class. I am not saying this is wrong.
I have two questions here for discussion:
1) If the original designer did that intentionally, what's his/her design guide line? Repeat again: I am not saying the old design is wrong or bad.
2) If you were at my position and would like to re-consider this design decision, what pattern would be your solution?
For those who are very experienced, please do not educate me how to make decisions. I am NOT seeking advice here. I raise the above questions simpy for helping those who are anew in the programming world.