Re: Operation options (filtering, sorting and more)
- From: Iago Toral <itoral igalia com>
 
- To: <grilo-list gnome org>
 
- Subject: Re: Operation options (filtering, sorting and more)
 
- Date: Fri, 18 Mar 2011 11:20:54 +0000
 
On Tue, 15 Mar 2011 17:48:07 +0100, Guillaume Emont <gemont igalia com> 
wrote:
On 15/03/2011 17:24, Juan A. Suárez Romero wrote:
On Tue, 2011-03-15 at 16:43 +0100, Iago Toral Quiroga wrote:
Yes, I think Juan made a good point about this in another e-mail.
Let's
merge flags, skip and count in the options then.
One things that concerns me is about this merging of lot of things 
in
the same GrlOptions: seems we are adding a lot of API in there to 
handle
lot of unrelated stuff.
They are related: they are all options to an operation.
Agreed.
And I feel it worse if in future new options appears.
One approach to minimize this feeling could be splitting the options 
in
related stuff.
That is, for instance, having a GrlOptionsSort object/structure with 
the
api related to do sorting, and having GrlOptionsFilter with the api 
to
handle filtering.
I fear that solution could make things even more complicated than the
problem it's trying to solve.
I so do I.
Both might inherit from a parent GrlOptions, and even this 
GrlOptions
could be an aggregation of different options: source would get a
GrlOptions element, and it could extract from it the 
GrlOptionsFilter
and the GrlOptionsSort to do the job.
Well, in the future, if we really feel it's needed, I guess we can
regroup some members of the GrlOperationOptions structure into some
structures, but I really can't see the point of having these 
structures
inherit from GrlOperationOptions. I think a good rule of thumb for 
that
is "if you can do it with composition, don't do it with inheritance".
Let me restate another idea to simplify the GrlOperationOptions
structure: separate options and capabilities.
And as I said in another e-mail, I think that is the best way to go 
too.
Iago
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]