[Tutor] class design

Norman Khine norman at khine.net
Sat Jun 6 14:26:32 CEST 2009


Thanks for the reply.
I am using the iTools python library from http://hforge.org
(http://git.hforge.org/) and the data is stored as XML files.

On Sat, Jun 6, 2009 at 1:02 PM, Kent Johnson<kent37 at tds.net> wrote:
> On Sat, Jun 6, 2009 at 5:04 AM, Norman Khine<norman at khine.net> wrote:
>> Hello,
>> I would like help to design the following:
>> http://paste.lisp.org/display/81448
>
> Product.get_days() may have a bug, it only returns the first container it finds.

It was an error when I simplified the code for posting on the list.

>
> You probably don't want the view code in the same class with the data.
> It's generally a good idea to separate the model - the representation
> of data - from the view - the display of the data.

In iTools, each class has a view, edit, state etc... functions
depending on the class.

>
> The get_images() methods are all very similar. If each class had a
> get_children() method then you could combine the get_images(). For
> example

Here is what I wanted to improve on, I will try to combine this as suggested.

>
> class Product(Folder):
>  ...
>  def get_children(self):
>    children = [ self ]
>    children.extend(self.get_itinerary())
>    children.extend(self.get_days())
>
> class Folder(object):
>  def get_images(self):
>    images = []
>    for child in self.get_children():
>      images.extend(child.search_handlers(handler_class=File))
>    return images
>
> You might be able to do something similar with get_days().
>
> I wonder why you are not using a database to store all this? I can't
> help wondering what the code would look like in Django.
>
> Kent
>
Thank you for your feedback
Norman


More information about the Tutor mailing list