Return-Path: X-Original-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-flex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 27B1899FB for ; Sun, 15 Jan 2012 21:01:47 +0000 (UTC) Received: (qmail 48053 invoked by uid 500); 15 Jan 2012 21:01:47 -0000 Delivered-To: apmail-incubator-flex-dev-archive@incubator.apache.org Received: (qmail 47956 invoked by uid 500); 15 Jan 2012 21:01:46 -0000 Mailing-List: contact flex-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: flex-dev@incubator.apache.org Delivered-To: mailing list flex-dev@incubator.apache.org Received: (qmail 47948 invoked by uid 99); 15 Jan 2012 21:01:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 Jan 2012 21:01:46 +0000 X-ASF-Spam-Status: No, hits=0.3 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_SOFTFAIL X-Spam-Check-By: apache.org Received-SPF: softfail (athena.apache.org: transitioning domain of david@davidarno.org does not designate 209.85.212.175 as permitted sender) Received: from [209.85.212.175] (HELO mail-wi0-f175.google.com) (209.85.212.175) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 15 Jan 2012 21:01:38 +0000 Received: by wibhn14 with SMTP id hn14so471250wib.6 for ; Sun, 15 Jan 2012 13:01:17 -0800 (PST) Received: by 10.180.19.42 with SMTP id b10mr9991165wie.13.1326661276889; Sun, 15 Jan 2012 13:01:16 -0800 (PST) Received: from kindred (188-220-92-24.zone11.bethere.co.uk. [188.220.92.24]) by mx.google.com with ESMTPS id dr7sm6849086wib.3.2012.01.15.13.01.15 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 15 Jan 2012 13:01:16 -0800 (PST) From: "David Arno" To: , References: <060d01ccd3bd$1414aa00$3c3dfe00$@davidarno.org> <4F132EEF.8090109@dot-com-it.com> In-Reply-To: <4F132EEF.8090109@dot-com-it.com> Subject: RE: Overly large classes (was Flex incubation on Apache as Opensource) Date: Sun, 15 Jan 2012 21:01:18 -0000 Message-ID: <063d01ccd3c8$d4b31d90$7e1958b0$@davidarno.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQDBRm3Dd44VbUGGEZiI/QsPSBkUKQJQsPzxmBJ5pWA= Content-Language: en-gb > From: Jeffry Houser [mailto:jeffry@dot-com-it.com] > 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.