Thanks Peter,

The pricing in this system, while it has its share of business logic,
isn't so fickle that pricing changes by the hour, so I think I might
be able to get away with a price-calculating job (which runs over a
query, creates objects which can calculate prices, and populates the
calculated db field) on a sheduled basis.

I'll think through that one a bit. Thanks for the alternate idea.

Jamie

On Feb 17, 6:51 pm, Peter Bell <[email protected]> wrote:
> If the potential number of object instances is small enough, I may  
> just load the entire dataset and build the filtering into an AJAX  
> front end with the calculated field being "displayed" using a custom  
> getter. However, often I'll use a "calculated field" and just add that  
> field to the list of properties to be persisted. You don't repeat  
> yourself in terms of business logic. You just happen to persist the  
> results of that business logic to the db for more performant db side  
> filtering.
>
> The main "gotcha" to look out for is that if you edit one of the  
> fields that your calculated field depends upon you've got to  
> automatically (or manually) add your calculated field to the list of  
> fields to update in the db.
>
> Either way though, I'd keep the business login in the BO custom getter  
> which is where I'd expect it to be when looking at someone elses app.
>
> Best Wishes,
> Peter
>
> On Feb 17, 2009, at 6:37 PM, Jamie Jackson wrote:
>
>
>
>
>
> > [I was wondering what happened to my previous attempt at this email,
> > then realized I sent it to [email protected]. Here goes nothin'...]
>
> > I'm sure that this has come up before, so feel free to reply with
> > links or search term suggestions...
>
> > For the people who keep a good deal of business logic in the DB, this
> > question is probably a no-brainer, but for those of you who keep their
> > business logic in their application model (IBO users, users of a
> > Singleton-helper-class-per-hairy-BO, etc.):
>
> > How do you handle a requirement to be able to search on or sort on a
> > calculated field? For instance, OrderableProduct.getPrice() might have
> > (and does, in my project-in-planning) have all kinds of dependencies
> > and calculation gymnastics.
>
> > How could you possibly have both:
> > 1. Performance (how to avoid a general query--a recordset of *all*
> > rows that's then altered/filtered in the app--a seemingly obvious
> > performance problem)
> > 2. DRY business logic
>
> > Maybe this is impossible, and an instance where (copied or moved)
> > business logic necessarily ends up in the database.
>
> > So, how's this done?
>
> > Blech,
> > Jamie
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to