March 12 & 13, 2007 Using the Iterating Business Object Peter Bell SystemsForge
March 12 & 13, 2007http://europe.cfunited.com/ The Problem: ! Name: #FirstName# #LastName# Age: #datetoAge(DateofBirth)# Payments: $#Numberformat(Payments, "9.99")# #Title# #Description# $#Numberformat(SalePrice, "9.99")# $#Numberformat(BasePrice, "9.99")#
March 12 & 13, 2007http://europe.cfunited.com/ The Goal: Encapsulation Name: #UserList.get("FullName")# Age: #UserList.get("Age")# Payments: #UserList.get("Payments")# #ProductList.get("Title")# #ProductList.get("Description")# #ProductList.get("Price")#
March 12 & 13, 2007http://europe.cfunited.com/ The Challenges Creation Iteration Performance
March 12 & 13, 2007http://europe.cfunited.com/ The Solution: IBO CREATE: var ProductList = beanFactory.getbean("Product"); ProductList.load(ProductList); ITERATE: #ProductList.get("Title")# PERFORMANCE: - Single bean - quick to create
March 12 & 13, 2007http://europe.cfunited.com/ The Concept
March 12 & 13, 2007http://europe.cfunited.com/ Key Points Encapsulates recordset Handles iteration Generic get/set - can overload Pattern - not implementation
March 12 & 13, 2007http://europe.cfunited.com/ Under the Hood Review IBO code... Custom getter example...
March 12 & 13, 2007http://europe.cfunited.com/ Structs and Value Lists Designed to encapsulate data Recordset, structure, or value list Code samples...
March 12 & 13, 2007http://europe.cfunited.com/ Why Use the IBO? Simple Maintainable Performant
March 12 & 13, 2007http://europe.cfunited.com/ Sample Use Cases Business objects Input beans Error beans Code samples...
March 12 & 13, 2007http://europe.cfunited.com/ Next Steps Download sample: Customize for your needs
March 12 & 13, 2007http://europe.cfunited.com/ Custom Data Types Displaying form fields Processing form fields Displaying formatted values
March 12 & 13, 2007http://europe.cfunited.com/ Custom Data Types.display().field().process() Code samples...
March 12 & 13, 2007http://europe.cfunited.com/ 15 Questions? Blog: Yahoo: freshstartsw freshstartsw AIM: appgeneration appgeneration