Graeme Geldenhuys wrote:
> On 1/13/07, Al Boldi <[EMAIL PROTECTED]> wrote:
> > OPF is really meant as a glue between OOP and the DBMS, to yield an
> > ODBMS interface on the client side, for seamless OOP to DBMS
> > integration.  This may save you some coding, but only for the price of
> > an additional setup of object properties, as OFP introduces yet another
> > layer.
>
> There is no question that the tools that come with Delphi/Lazarus can
> be used to build a database application very, very quickly. The power
> of the combination of the TDatabase, TQuery, TDataSource and TDBEdit
> is incredible. The problem is that with every TDatabase or TQuery you
> drop on a TDataModule, you have tied yourself more closely to the
> specific database vendor (using vendor specific components). With
> every TDBEdit added to a form, you have coupled yourself to that
> particular field name in the database.

Agreed 100%.  I never liked the split TEdit/TDBEdit approach, and it looks 
obviously wrong.

>    4. *Tight coupling to a data access API.* The BDE allows us to swap
> aliases when you want to change databases, but what if you want to
> switch from BDE data access, to ADO, IBObjects, Direct Oracle Access
> (DOA), ClientDataSet or our own custom data format? (This is not the
> fault of the data aware controls, but is still a problem with the
> component-on-form style of developing.)

What problem?  Can you explain?

> 1. The most powerful feature of the tiOPF has to be the Visitor
> pattern. For us the
> business, and the model of that business, is everything and the
> Visitor pattern allows us to painlessly traverse the 'model' and
> perform a specific action across a hierarchy of related entities. As a
> result, it assists in allowing us to focus more on the business and
> less on the technical code.

Using patterns is great, but "how are they / should they be" dependant on the 
OPF?

> 6. Model-GUI-Mediators for enabling any standard GUI component to
> become Object Aware.  There is a lot more standard non-DB Components
> than DB Components.

If this is true, then that's really your generic OPF.

Can you give an example of a simple generic implementation?

> > Ok, you gained these helpers, but if they are specific to the OPF, they
> > cause you to be locked into TiOPF.
>
> If you look at the code of tiUtils.pas you will see over 90% of the
> functions are not specific to the tiOPF framework.  I use a lot of
> those functions in small utility apps without using the tiOPF
> framework.

So your argument, using an OPF to get helpers, becomes only 10% valid.

Still, I think OPF tries to address a valid issue, yet the non-standard 
approach is what makes it just another stop-gap solution.

Again, a standardized OPF interface definition could probably address these 
issues.  Do you think this could be feasible?


Thanks!

--
Al

_________________________________________________________________
     To unsubscribe: mail [EMAIL PROTECTED] with
                "unsubscribe" as the Subject
   archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to