One traditional pattern is to split a big class into a set small classes plus a "hub" class like how Adam has done for original Frame. In that pattern, small classes has a reference to the hub class and know its API. I hope these small classes know just a small part of its hub class via interface (abstract class.) In that way, such classes can be unit-tested independently without instantiating the hub class, whose instantiation is typically a difficult job.
Personally, I feel that we don't need category-like mixin mechanism for existing hub classes. Since we have just a few or dozen of instances of these classes and the size overhead from extra pointers is negligible. It isn't case for the node family though. -- morrita On Sun, Nov 20, 2011 at 2:23 AM, Adam Roben <[email protected]> wrote: > On Nov 18, 2011, at 5:55 PM, Adam Barth wrote: > >> Really, SQL_DATABASE just wants to store some state per >> ScriptExecutionContext. It seems like there should be a way to do >> that without making a mess of ScriptExecutionContext. >> >> IMHO, we want something like the C++ equivalent of Objective-C >> categories. I'm not sure how best to achieve that. > > Note that ObjC categories don't allow you to add extra state (i.e., ivars) to > classes. They only allow you to add extra methods. > > -Adam > > _______________________________________________ > webkit-dev mailing list > [email protected] > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev > -- morrita _______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

