All 500+ "hostComponents" are extending an unique master component, so they all share same type. The skin is assigned to the master component, so all "hostComponents" get it too.
Now, it is not maintainable to have 1 skin per component and more important, it will promote code duplication. Imagine a small change in shared part of the skin needed to be copypasted to 500+ skins ? Nightmare :) Basically, it will be great if somehow, each hostComponent could inject the changing part directly in the generic skin, maybe using an interface ? for example (pseudo code): <skin> ... <changeZone:ChangeZone id="changeZone" /> ... <skin> changeZone could implement an interface IChangeZone, but how to implement such a thing and still be able to trigger partAdded method in hostComponent? Can we somehow extend the skin ? I really need some help on this from you guys, I feel I am hitting the wall here :) --- In flexcoders@yahoogroups.com, Oleg Sivokon <olegsivo...@...> wrote: > > If there are going to be 500 different skins you cannot avoid making 500 of > them :) However you can use inheritance or decorators if all skins will > share common traits. The skin could actually adjust itself, if, for example, > the difference in appearance may be determined from the type of the host > component. >