Hi, I read some of the old posts in the forum.
Someone suggested making Data class a singleton and synchronized all its methods.
In the requirement, it does not say this.
So, can I use Monkhouse book's approach to make Data class a facade?
In Monkhouse book , the DvdDatabase class is a facade and it is not a singleton to my understanding. In DvdDatabase class, there are two static objects of ReservationManager and DvdFileAccess. Only one instance of each of them is created and all methods in ReservationManagers and DvdFileAccess are made to be thread safe (by synchronizing blocks of codes or using lock).
In my assignement, the Data class is not a singleton. I have justified it by explaining that my Data class could be reused to manage another kind of records in a second data file. Moreover, the Data class methods are not synchronized. I simply used synchronized blocks within the methods only when it was necessary to make the Data class thread safe. My choices are inspired from what I read in the Monkhouse book.
However, I don't know if I'll get full credit : I have submitted my assignments two days ago and I'll sit for the essay Thursday ;)
I also think that the different options are possible, we just need do justify it in our choices.txt file.