This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

final product

 
Alex Gregory
Ranch Hand
Posts: 46
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I implemented everything like this: all the client stuff in a file called ClientFrame.java, and the server stuff in other server files. All my buttons, tables, etc are in ClientFrame and button handlers are there as inner classes. This doesnt follow any fancy MVC or whatever, which i think is overkill for a small project like this. Does anyone think I will be marked down for not following some special convention or pattern for my GUI design. I'm using JTabbedPane and it's very intuitive to the user, so it looks great, but the code is not fancy. Thanks.
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
These are quotes from the specs. While it does not specifically say anywhere that you have to have MVC pattern. No in these quotes interpretation is the key. And you will find that you can argue both. My opinion is that MVC would win out because of the benefits of maintainability, readability, and extensibility.
With MVC, if you want to change the View/GUI, then you can also knowing that you won't have to change the Model or view. Now in some cases you will have to change all three, but when someone say where do I find "A", you can saa is "A" GUI based, Data bases, or Business Process/Action based. Based on their answer you know where to go. If it is all in one class, one file, then you will probably have to do some searching for it. Of course if you wrote it recently, then you know where to go. But to a Junior Programmer who has never seen the code before, it will take lots of time for that person to find it. And we all know that the most costs on any project is in maintenance.

Your user interface should be designed with the expectation of future functionality enhancements, and it should establish a control scheme that will support this with minimal disruption to the users when this occurs.

User Interface (Total 24)
layout uses good/accepted Human/Computer Interaction (HCI) principles (24)


General Considerations (Total 58)
ease of use (23)
coding standards and readability (23)
clarity and Maintainability maintainability of the design and implementation (12)


Mark
 
Alex Gregory
Ranch Hand
Posts: 46
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mark, it seems from their grading scheme they can just fail me by slowly taking away points from ease of use, extensibility, etc. That's a shame, I guess I have to rewrite it even though it works. Well, better this than to really fail it. Thanks for the info.
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hopefully it won't be too difficult to split it apart. I would always hope to think that if it ran they would at least have to pass you, but I can't put words in their mouth.
I also think you will find that you will learn a lot from this. And hopefully se how it is actually easier to create and maintain code like that.
Good Luck, and we are all here for you.
Mark
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic