Hi, >Isn't this what happens to every single inherited behavior? Aren't >components created with this in mind? To provide multiple options on >case-by-case scenario?
Well, the enabled setter is a functionality, the default behavior of this functionality should be suit for common use case not edge case. Encapsuling edge case behavior to a functionality of a class is not good for post-maintenance. I like Tom's idea, by writting an EnableHelper controller class to solve this case is much better than adding edge behavior for the enabled setter of SkinnableComponent. DarkStone 2014-07-17 At 2014-07-17 07:58:12, "João Fernandes" <joaopedromartinsfernan...@gmail.com> wrote: >On 17 July 2014 12:43, DarkStone <darkst...@163.com> wrote: > >> Hi >> >> >I repeat, my plan is to keep the current behavior as the default, only if >> >you enable the new functionality trough a flag/style/whatever... >> Ok, I got your idea. Adding through a flag/style/whatever is doable, but >> from the perspective of the program design, it's not a very good idea. >> > >Isn't this what happens to every single inherited behavior? Aren't >components created with this in mind? To provide multiple options on >case-by-case scenario? > > >> >> I mean today you may want to add this new behavior through a >> flag/style/whatever, and the other day you may want to add another >> behavior, then would you add another flag/style/whatever? >> > >Again, why all components have multiple properties? Aren't those to >consider a behavior? Unfortunately this isn't FlexJS where this kind of >behaviors are split in different beads. > > >> >> As a result, the SkinnableComponent might have multiple behaviors to one >> functionality (e.g. different behaviors of 'enabled' setter), this is not a >> very good program design. >> >> But after all, this is just my own opinion, others may disagree with me. >> >> Before making any changes to the source code, it's best that we can have >> more people to share their thoughts on this approach, don't you think : ) >> >> >> DarkStone >> 2014-07-17 >> >> >> >-- > >João Fernandes