Currently I'm writing mine like this, imagine there's an entity calls
Entity, and subclass of entity calls EntityX, EntityY, EntityZ
EntityFactory.cfc:
/** Dependency injection */
property service;
/** some constant */
property c;
EntityX function createEntityX(required a) {
var x = new EntityX();
x.setService(s);
x.setConstant(c);
x.setA(a);
return entityX;
}
EntityY function createEntityY(required b) {
// similar stuff
}
EntityZ function createEntityZ(required c, d) {
// similar stuff
}
// -------------------- END ----------------------
As you can see, I map one class to one method in the Factory. I like
it because the user of my API can just browse to this CFC and see all
the different type of Entity he can create. Also, since CF9 orm can't
let us use init() with required argument, I pushed this responsibility
to the factory.
Currently my EntityService does not have handle any creation, and the
user of this API needs to get the EntityFactory from Coldspring to
create instances of EntityX/Y/Z. It is because I don't want to add 10
methods in both EntityService and EntityFactory if I have 10 Entity
subtypes.
What do you think? Is this bad?
Is this how you usually write your factory? How can I improve my
version?
Thanks,
Henry
--
You received this message because you are subscribed to the Google Groups
"CFCDev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cfcdev?hl=en.