OO / Rad Comparison

 

 

RAD

OO

Programmer expertise required

Amateur/beginner

Professional

Professional Resources

IDE

IDE, Design patterns, Refactoring

Development effort, owner builder

Low

Learning curve

Development effort, commercial

Low flagfall then increasing rapidly as complexity rises

Linear, scalable.

Maintenance

Frustrating

Routine

Value of the asset

Relatively low

Relatively high

Working conditions

Low

High

 

Notes

 

·      A program is a heap of code which provides functionality for the user. The user is not concerned with the code, only with the functionality.

·      Architecture is concerned with the structure of the code, in part how it is divided up. Good architecture facilitates the control of complexity. Monolithic code bad, spaghetti bad…

·      RAD means the approach whereby data from the database is exposed directly to the user via data aware components.

·      All classes used are VCL classes. There are no domain classes.

·      Business rules are primarily in the gui, with others possibly in utils or stored procedures. Application code is in vcl class handlers.

·      This use of Delphi has been very important to its success. It has enabled a large number of non-programmer professionals to create useful programs for use by themselves and colleagues. In short, allows non programmers to create real windows programs. The programs are usually not industrial strength, particularly in relation to how they handle incorrect input. This doesn’t matter because they tend to be used by the author or other domain experts.

·      In contrast to RAD is OO. When Delphi first came out VB didn’t allow the creation of classes. Delphi was VB and C++. RAD uses the IDE in the way it was designed to be used, but doesn’t use the powerful class construct.

·      An application embodies or assumes a model of the user domain. OO allows the entities in the user domain to be modeled directly, eg in a transport company an application is likely to have classes which model trucks, drivers, routes , depots and manifests etc. All of the business rules are in the classes and the way they inter-relate.