I am trying to design my classes in the optimal way for the following scenario. A city has metro lines covering a number of stations.There are 4 lines represented by 4 colors.The user has to enter start and end stations and we should return the shortest route to take and cost of travel.The cost is constant from one station to adjacent station- $2.If they need to switch lanes then additional $1 needs to be paid.
Here are the classes and methods I have designed for this.
Is this a good design? What improvements can be made to this for it to be reusable and robust?What object oriented principles can be applied to make this design better?
here is link to my class diagram, if the above one is not clear https://creately.com/diagram/i1ay21xi2/55WPjrH3iHFsDyi8Bs6sZgTDksw%3D