On 06/08/2013 16:02, Chris Angelico wrote:

My classhierarchy is like a multilevel tree where each non-leaf node (class)
is given knowledge about its nearest subclasses and their 'capacities'.

So, my idea is to let the 'upper' class recursively choose which of its
nearest subclasses is the 'correct' one, until approaching a 'leaf' class
from which the instance should be created. And, given my knowledge that a
solution along the lines of this idea has been designed and was working, I'm
still hopeful ... (or I'll have to investigate all those old backup-DVDs)

[ responding on-list - I hope it was mere oversight that had this come
privately to me alone ]

This is code smell; this recursive search for the "right" class seems
likely to be wrong. Can you have the classes perhaps register
themselves in some way? On what basis is a superclass to determine
that one of its subclasses should handle this request?

ChrisA



Consider a botanical classification system (somewhat analogous to my 'problem' as it effectively is related to classification of entities):

A Domain should know about its Kingdoms,
a Kingdom should know about its Phylums,
...
a Genus should know about its Species.

Of course it is possible to implement such a decision tree as a 'factory'. However, I would rather prefer to encapsulate those decisions at the class level where they 'belong'.

BrJohan
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to