Related to my UI<-->biz<-->data kick, I'm seeing a new simplicity in my code, primarily in the UI layer. I should find a better term, but I will use the term "abstraction" to describe the following statement:
oUBizObj.DoSomething("thisstring", MethodReturnsAString(string) , id, enum.datatype))
It dynamically executes a SQL query which updates a field (thisstring) with a value (MethodReturnsAString(string)) for a given record (id), with the sql statement details built from the enum.datatype value.
My point is that with a more sophisticated data layer backend, statements used frequently like this one which perform data processes can be entered easily and provide no indication whatsoever to what is actually happening in the backend. To me, that is abstract. And quite cool.