Since traffic on the list has been light ... What I'd like to do now is to 
take an application I wrote awhile ago and rewrite it, from the ground up, 
in a more OOP-centric way. The original app is poorly coded, hard to 
understand, and in need of a better GUI. I'm looking for a little assistance 
in how to go about planning the app and its classes. Usually I just create a 
GUI I like, and start making event handlers; it's time to become better 
planned.

Description: Teachers sometimes grade student papers with the help of a 
"rubric." Basically, imagine dividing your expectations for an assignment 
into a list of specific criteria, and then rating a student for how s/he did 
on each criteria. If you were teaching people Delphi, for example, you might 
give students an assignment involving solving a problem with an array. One 
of your performance criteria might be as simple as "You used an array in 
your program," with choices of "yes" or "no." Or you might have something 
like "Variable names were self-commenting, adding to code readability," with 
criteria of "excellent," "good," "acceptable," or "not acceptable." Teachers 
may optionally give students additional (text) feedback and, of course, 
ultimately assign a grade. Students get a report about how they were rated 
on each criteria, any additional comments, and their grade. ... I'll leave 
out other details.

GUI: Upgrading from Delphi 5 to 2006 I saw the addition of the 
ValueListEditor widget, and think that would be good for the rubric. 
Performance criteria can go on the left column, and ratings can go on the 
right column (with a pick list for each row). A memo or rich text box can 
hold additional comments, and an edit box can hold the final assigned grade.

I picture the rubrics themselves stored as string lists, which can be almost 
directly loaded into the ValueListEditor. Student reports will be saved in 
other files.

Now, here's the thing ... the way all this is coupled, esp. the 
ValueListEditor and its accompanying key/value text, it's hard for me to 
think of this as something beyond Form1 with event handlers again. I can 
practically load a string list directly into the ValueList Editor--it seems 
like a "business" class method, for example, would just load a string list 
from a file, and return the string list. And it's hard for me to think in 
terms of real life objects here ... it seems like there's just the rubric 
and the person doing the grading. But I continue to hear about--and see for 
myself!--the advantages of breaking an app into separate classes. Heaven 
knows, my original app is like a house that was built without a blueprint; 
it's hard to understand and inefficiently coded.

So, how would you think about dividing this app into multiple classes?

Thanks, as always -- Al

_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi

Reply via email to