I'm happy I've finally passed, despite my tragic RMI grade... I would love to know what exactly went wrong with the network server, but I'm on my own to speculate why. My GUI was quite simple and intuitive, but perhaps the assessor thought my minimal table design was a bit too intuitive.
I'm sure the most useful kind of thread on this forum must be the SCJD results. This is where everyone can contribute to everyone's success by describing what counted and what deducted on their final results, it's not a mere podium. Here's my contribution:
I was negligent on the RMI server: I didn't care for broken clients, although I've justified that case on my choices document. I thought it was too complex to take care of that on the project, perhaps I was wrong. I've also added the stub file, which is unnecessary in JDK 6. I did not discuss my server design at all on my choices.txt, maybe that was another factor.
Data store & Locking
I'm happy I didn't fall victim of the 40/80 curse! I had a separate locking manager. My database class could accept different locking managers that could be used to apply different locking strategies (locking / no locking / time managed locking / etc). I had one class for low level record operations (the record manager), another for locking (the lock manager), and another for search operations (the search manager) which resulted in a 272 lines Data class that was easy to understand.
My search mechanism was extremely flexible: I used the strategy pattern to encapsulate search criterias in such a way that I could easily create criterias of arbitrary complexity. The strategy pattern normaly yields many classes, but I wasn't deducted any points for my choice.
General considerations & Documentation
For the purpose of this project, I didn't trust code formatters, and apparently it paid off! I've followed the Sun code convention rigorously (I have yet to see one code formatter that does so). I've documented every single member of every single class. Very dreadful, but it paid off...
I think the most important contribution I can make has to do with the infamous 48h rule: I did not implement it and I gave strong reasons for doing so on my choices.txt. I suppose my general considerations score shows it was a valid choice. I also did not implement insertion and removal of records and justified my choice.
I am very satisfied with my OOD score! I used the common 3 tier approach, and I went as far as naming the packages according to their role on the MVC pattern! My other relevant OOD decisions were already described on my other considerations.
Number of classes: 36 Size of choices.txt: 14.3KB
I wish everyone success and I hope I have contributed somehow! [ September 15, 2007: Message edited by: Dalton Filho ]
Yes I explain in choice.txt as "Server Side Choices" in which everything was explain. I am sure they check choice.txt and essay exam answer for grading (meaning you can get less marks if they don't find everything matching) [ September 15, 2007: Message edited by: Ken Boyd ]
Hi, Congratulations!!! After a long break I decided to prepare for the SCJD. I passed my SCJP back in 2004 for JDK 1.4. I started with reviewing my SCJP concepts. Can you please suggest me on what books to read and how to seriously prepare for the exam? Your help will be greatly appreciated.