incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tink < >
Subject Re: Overly large classes (was Flex incubation on Apache as Opensource)
Date Sun, 15 Jan 2012 21:42:21 GMT
A Spark List is maybe a bit more compositional (if thats a word) than  
you would think.

It is a container, but it isn't really used as one (i.e. the Spark  
skinning issue previously discussed on this list), it doesn't really  
support Scrolling, it hands that off to a composite skin part  
Scroller, it does very little with renderers, as it hands that off to  
a composite skin part DataGroup.

It does implement drag and drop, single selection is inherited, but  
multiple selection is implement on top of this.

It doesn't support any form of item editing,


On 15 Jan 2012, at 21:01, David Arno wrote:

>> From: Jeffry Houser []
>> Sent: 15 January 2012 19:54
>> I'm curious as to what your suggestions would be simplifying  
>> something
> like this?
>> [Or ignoring my commercial component, the Flex List class]
> I'd prefer not to comment on your commercial creations Jeffry, but  
> I'll
> comment on List.
> The class does many things: it's a container; it displays the  
> contents of a
> data provider; it supports scrolling; it supports item renderers; it
> supports dragging & dropping; it supports single selections; it  
> supports
> multiple selections; it supports item editing etc. Classes should be  
> single
> purpose. Therefore the List class should be a compositional class  
> that is
> composed of IDataProviderSupport, IScrollSupport,  
> IDragAndDropSupport etc
> and the functionality that is currently in List should be in classes  
> that
> implement those interfaces. That way, the currently overly-large,
> over-complex, unfocused class could be broken up into a large number  
> of
> properly focused, smaller classes.
> David.

View raw message