I've recently been asked to write and article for TPJ about Handel, which has forced me to come to terms with starting the next phase of that hobby...er package. While I've always intended for Handel to be a generic commerce framework, it currently only contains the shopping cart stuffs. There is no checkout code.
I don't want to impliment the world, but I want to allow others to do so if they desire.
I'm thinking about keeping orders just like the cart: Handel::Order and Handel::Order::Item. They're data. Nothing more. Nothing less. Then putting the magic in Handel::Checkout; loading Handel::Checkout::Plugins along the way to handle the various phases of an order. The phase could be:
Anyone been through a phased design like this before? Is the plugin method for each phase a sound one, or is it just asking for trouble? Is it all for knot and a waste of time? :-)
Update: I forgot one part of my question. If it were you, would you make each plugin have 1 method (like execute or process) and the plugin is added to a specific phase; or would you have each plugin subclass ::Plugin, which had method calls for each phase (like init, validate, auth, deliver)?
In reply to Phases Of The Spoon by jk2addict
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |