Hi Pranav Thanks a lot for your response. Even something from the top of your head is sooo detailed that its going to take a better part of an hour for it to sink in. :-) It would be great to have the notes that you mentioned. They would certainly help. Thanks again for your time. _____________ Regards, Mayuresh
----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, December 02, 2002 5:09 PM Subject: Re: <lingo-l> oop design help > > > Hi Mayuresh, > Here's what comes to my mind. > > Class hierarchy > User - Book - (Page Collection) - Page - (Asset Collection) - Assets > > User class holds the id of the user currently logged into the system and > his/her permissions for each type of operation. > The Book class holds the database record/file handle of the book belonging > to the current user. > The Page class contains the record number where the book id is the same as > the current users book. > The Asset class contains a handle to a single record where the page id is > the same as the current open page in the book. > > All recording operations are handled at the Asset level except for creation > of a new Asset where the Page class implements the method and the creation > of a new Page where the Book class implements the method. > > The Page and Asset classes are better contained inside a separate Page > Collection class and an Asset Collection class rather than a list. Putting > them in a class can let you extend the existing functionality available > through lists by adding custom methods such as e.g. gotoPage(pageNum) or > deleteAsset(assetNum). > > The Asset class depends on the User class for permissions for each > operation. Before each operation, the User class is queried for permission > for a certain type of operation. If the User class returns true, then the > operation is allowed, else it is blocked. > > Possible operation types: > 1 - Read > 2 - Modify > 3 - Add > 4 - Delete > > This is in no manner a very comprehensive design. Just what I can think of > over the top of my head. I had some detailed notes for a similar > application which are lying at home. I'll mail them to you later if you > like. > > Have a nice day. > > Pranav Negandhi > Software Engineering > Learnet India Limited, Mumbai. > Phone: 91-22-859 8042 Ext: 316 > http://www.learnetindia.com [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]