>In his example he/factory class wraps the act of setting of the string. base class might work by setting cClass value via case, subclass via table, other via hash string or array - so you might have a factory deciding which factory to use as object factory.
>
>
factory = createobject(m.lcSubtype + "_" m.lcFactoryType)
>
>;-)
This is something coming from C++, where you simply couldn't just have one factory to make them all, language not being capable of creating an object whose class is not a literal, but rather a string contained in a variable. So it had to have one factory for each class... altogether complicated, and completely unnecessary in Fox.
In Fox, I've seen factories which had to handle a total of four cases: with/without parent, using create/addobject or newobject. Plus the complication of having to pass parameters to the object's .init() had to be handled, but that was done via macro or execscript(). But all that code was in one class, in one .prg with less than 100 lines.