Re: [Perl-widget-developer] Structure of Widget Base classes
Status: Alpha
Brought to you by:
spadkins
From: Gunther B. <gu...@ex...> - 2001-06-05 16:02:06
|
I think this is reasonable. I Don't know about Widget::Select since it is meant to be an abstract class and not actually instantiated itself. So it's a bit odd. Perhaps Widget::Base::Select would be better to make it clear that anything under Base direectory is an abstract skeleton of widgets that will belong under Widget::HTML or Widget::WML or what have you. At 09:23 PM 6/5/01 +1000, Cees Hek wrote: >I have a concern with the current structure of the base >classes. Currently the way I see it, the structure is as follows > >Widget::Base - base class for all widgets >Widget::HTML::Base - base class for all HTML widgets (inherits Widget::Base) >Widget::HTML::Select - a widget class (inherits from Widget::HTML::Base) > >Now if we add WML we would get the following extra classes > >Widget::WML::Base - base class for all HTML widgets (inherits Widget::Base) >Widget::WML::Select - a widget class (inherits from Widget::HTML::Base) > > >My concern here is that there is no sharing of code between >Widget::HTML::Select and Widget::WML::Select besides the Widget::Base and >Widget::HTML::Base. I think there should be a base class for Select >widgets that the HTML and WML Select widgets can inherit from. Otherwise >we will be duplicating a tonne of code between the different interfaces. > > >Essentially, I think we have our Base class structure backwards. What we >need to think about is what similarities and differences there will be >between the different interfaces. The only method that should be >different in a Widget is the method that renders the actual widget. >Everything else will most likely be the same. > >To fit a Widget::Select baseclass into the current structure would require >multiple inheritance, and I don't know if that is such a good idea. > > >What if we used the following structure: > >Widget::Base - base class for all widgets >Widget::Select - a generic dropdown box widget (inherits from Widget::Base) > >Widget::HTML::Base - a base class for HTML widgets (doesn't inherit) >Widget::HTML::Select - a display class for Select box > (inherits from Widget::HTML::Base) > >The Widget::Select object can instantiate the correct display object from >one of the interfaces once it knows (from the config file) which interface >we are displaying to. It can choose to use Widget::HTML::Select or >Widget::WML::Select depending on the requirements. > > >Does anyone have any other ideas or comments on the implications of this? >I haven't thought this out completely yet, but I wanted to throw it out >before we got too deep into the coding. > > >-- >Cees Hek > > >_______________________________________________ >Perl-widget-developer mailing list >Per...@li... >http://lists.sourceforge.net/lists/listinfo/perl-widget-developer __________________________________________________ Gunther Birznieks (gun...@eX...) eXtropia - The Open Web Technology Company http://www.eXtropia.com/ |