[webkit-dev] Simplifying "hub" classes (was Cleaning up directories in WebCore)

Hajime Morrita morrita at google.com
Sun Nov 20 20:36:39 PST 2011

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.


On Sun, Nov 20, 2011 at 2:23 AM, Adam Roben <aroben at apple.com> 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
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


More information about the webkit-dev mailing list