Re: Business objects, subset of collection



Responding to Frebe...

By the way, what is your RAD IDE of choice?
For the last 20 years before retiring I was an R-T/E guy so the only RAD
problems we saw were support tools for the software process (e.g.,
defect tracking). For that mundane stuff I usually used Access. I
haven't looked at the market so I wouldn't know what to use for
something like a web-based POS where one has both networking and server
issues. (There wasn't much around back in the '70s when I was doing IT,
but I'm sure we've come a long way since.)

When you say "When I need to solve a CRUD/USER problem I forget about
OO and use a RAD IDE", you are talking about MS Access? Since you
frequently refer to RAD IDE as the silver bullet for everything that
the OO model can't solve, it is a little big surprisingly that the
only RAD IDE you have experience from is MS Access. Don't you think
there are something between the OO approach and MS Access?

To clarify, when I refer to RAD IDE I also include the object-based "canned" infrastructures in things like .NET and J2EE that support the 1D Presentation/Business/Data models. Those are certainly between Access and an OO development.


Currently there are very few RAD IDE's that actually provide some
value in software development. They simply not powerful enough.
Instead you have to use a normal programming language and use embedded
SQL for data management tasks. The 3GL host language should mainly
focus on presentation and communication. The more business logic you
can put into views, the cleaner your application will be. Unpaid
invoices as an example:

create view invoice_balance as
select i.invoiceid, i.amount - sum(p.amount)
from payment p
join invoice i on i.invoiceid=p.invoiceid
group by i.invoiceid

How is this different than a VBA routine tied to a predefined event in Access and stored by Access for reuse? The VBA syntax will be very similar since it is designed (i.e., has specialized constructs) to be compatible with and easily converted to SQL.


Using such view, you call "select balance from invoice_balance where
invoiceid=?", whereever in your application, reusing the business
logic above.

I am missing the point. This seems like basic modularization that goes bas to function libraries under SA/D/P. Different development environments will have different mechanisms, but they all do the same thing. (The OOP-based agile processes argue that the primary goal of refactoring is to eliminate code duplication and ensure reuse.)


--
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@xxxxxxxxxxxxxxxxx
Pathfinder Solutions
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
"Model-Based Translation: The Next Step in Agile Development". Email
info@xxxxxxxxxxxxxxxxx for your copy.
Pathfinder is hiring: http://www.pathfindermda.com/about_us/careers_pos3.php.
(888)OOA-PATH
.