Spreading a class over multiple files
Terry Reedy
tjreedy at udel.edu
Sun Jun 5 13:59:22 EDT 2016
On 6/5/2016 2:55 AM, Mark Summerfield wrote:
> Sometimes I want to spread a class over multiple files.
My experience with trying to work with two do-all classes in idlelib has
engendered a dislike for such. It is hard to find things in a
kitchen-sink class. To switch IDLE from being a multi-window
application to having multiple panes in a single window, both must be
refactored.
> My primary use case is when I create a "Model" class to reflect an
> entire SQL database. I want a model instance to provide a single
> point of access to the database, but the database has many tables
> each requiring its own methods since they differ in their structure,
> purpose, validation needs, etc.
I would consider a master database ('Model') class, a base table class,
and a subclass class for each table or group of similar tables.
> A secondary use case is when I create "MainWindow" classes in GUI
> programming and have lots of methods to reflect all the actions
> (e.g., menu options and toolbar actions, plus interaction with the
> main widget(s)).
With tk and tkinter, at least, implementation functions do not have to
be in the same file as the menu or toolbar definitions.
--
Terry Jan Reedy
More information about the Python-list
mailing list