Discovering self-evaluating objects. (pt. 1 of 2)

Notice: This is part one of a two-part post. Read the second post when you’re done with this one.
Have you ever written a program that sells products? Did you have to write the pricing rules for those products? Was it difficult? Time-consuming? Constantly changing? Screwing up your code and frustrating you to no end? Did [...]